Ilja: Datenbankabfrage

Beitrag lesen

moin,

für die zwei fälle hast du mehrere möglichkeiten, zum einen sicherlich mit einem OR operator, zum anderen könnte man auch UNION ALL einsetzen. leider hast du keine beispieldaen genannt, das macht es immer ein wenig schwieriger. aber ich vermute du willst so was:

SELECT a.date, a.auftragnr,a.status, a.pausevon, a.pausebis
FROM auftrag a
INNER JOIN shop_zahlungsarten sz ON sz.id = a.payment
WHERE a.status = '2'
AND sz.pay = '1'
AND a.gesamtpreis <= (SELECT SUM(az.betrag)
                      FROM auftrag_zahlung az
                      WHERE az.auftragnr = a.auftragnr
                     )
UNION ALL
SELECT a2.date, a2.auftragnr,a2.status, a2.pausevon, a2.pausebis
FROM auftrag a2
INNER JOIN shop_zahlungsarten sz2 ON sz2.id = a2.payment
WHERE a2.status = '2'
AND sz2.pay <> '1'
ORDER BY a.date
;

dabei ist zu beachten, dass jeder auftrag nur eine zahlungsart haben sollte. ist dies nicht der fall, muss man noch mal umstellen.

Ilja