SQL-Selektionen

  • ASefrin
  • Topic Author
  • Offline
  • Administrator
  • Administrator
More
11 years 8 months ago - 11 years 1 month ago #1313 by ASefrin
SQL-Selektionen was created by ASefrin
An vielen Stellen in Orgasoft.NET können mit Selektionen Daten eingegrenzt oder selektiert werden (ReportingCenter, Bestellautomatik, etc.).

Man kann einfach nur Parameter auswählen und diese einschränken und/oder eine SQL-Abfrage hinterlegen. Wenn in einer Selektion ein SQL-Statement hinterlegt wird, dann müssen allerdings unbedingt einige Regeln eingehalten werden:

1. Es muss darauf geachtet werden, dass man im SELECT-Teil keine Aliase verwendet.
2. Der vorgeschlagene Tabellenname im SELECT darf nicht geändert werden, bei Artikel-Selektionen steht also immer HandelsArtikel im SELECT
3. Es müssen alle Felder dieser Tabelle selektiert werden ("*"). Etwaige Einschränkungen bei den Feldern nimmt Orgasoft.NET selbständig vor.
4. Es darf kein DISTINCT, TOP x oder etwas ähnliches im SELECT verwendet werden. Solche Einschränkungen müssen ggf. im hinteren Teil der Abfrage über Sub-Selects vorgenommen werden.

Beispiel:
Code:
SELECT DISTINCT -- unzulässig: DISTINCT HA.ArtikelNr -- unzulässig: Einschränkung der Felder! FROM HandelsArtikel HA -- unzulässig: Alias! INNER JOIN ArtikelFilialBestand AFB ON HA.ArtikelNr = AFB.ArtikelNr AND HA.Einheit = AFB.Einheit WHERE AFB.Filialnummer = 1 AND AFB.Bestand > 0

Dieses SQL-Statement muss wie folgt abgeändert werden:
Code:
SELECT HandelsArtikel.* FROM HandelsArtikel INNER JOIN ArtikelFilialBestand AFB ON HandelsArtikel.ArtikelNr = AFB.ArtikelNr AND HandelsArtikel.Einheit = AFB.Einheit WHERE AFB.Filialnummer = 1 AND AFB.Bestand > 0
Last edit: 11 years 1 month ago by jerhardt. Reason: Erweiterung um Feldeinschränkung und DISTINCT

Please Log in or Create an account to join the conversation.

Signum GmbH
Kasinostraße 2
DE-64293 Darmstadt, Germany

Tel: +49 (6151) 15 18 - 0
Fax: +49 (6151) 15 18 - 100
team@signum.info