unter Firebird 2.0
OHNE "group by" zu verwenden?
Eine SQL soll nur diejenigen Daten aus der Tabelle "Lagerkarte" anzeigen, deren Detail-Tabelle "Artikelhistorie" den Suchbegriff "BMW" enthält. Während ich hier noch an der Gesamt-SQL Feile verwende ich Konstanten, die ich dann später durch Parameter ersetzen werde.
hier der SQL:
SQL-Anweisung
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| select einkaufhistorie.text,Lagerkarte.ref, Lagerkarte.bestellnr,lagerkarte.lagerort, Lagerkarte.mindestmenge, lagerkarte.artikelname,lagerkarte.bestand, lagerkarte.ekpreis, lagerkarte.vkpreis from lagerkarte inner join einkaufhistorie on lagerkarte.ref=einkaufhistorie.ref0 where lagerkarte.keinlagerteil=0 and (upper(einkaufhistorie.text) containing 'BMW' or (upper(einkaufhistorie.kurzname) containing 'BMW')) and einkaufhistorie.datum>='1.10.2006' or ((Lagerkarte.mindestmenge>0) and (lagerkarte.mindestmenge<lagerkarte.bestand)) |
lagerkarte.ref ist der PK der Tabelle "Lagerkarte" und es soll von der lagerkarte nur jeweils eine Zeile angezeigt werden. Es gibt jedoch Artikel, die mehrfach z.B. bei BMW eingekauft wurden und dann hier mehrfach in der Ergebnismenge auftauchen.