Einzelnen Beitrag anzeigen

Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
831 Beiträge
 
Delphi 10.4 Sydney
 
#1

Select mit widersprüchlichen where-Anweisungen

  Alt 11. Jul 2013, 17:33
Datenbank: MySQL • Version: 5 • Zugriff über: UniDac
Hallo Zusammen,

ich habe eine Abfrage zu generieren, in der ich Daten nach unterschiedlichen, sich zum Teil widersprechenden Bedingungen zusammenfassen muss. Hier mal ein aller erster Ansatz meine Abfrage:
Delphi-Quellcode:
select hlp_branchen.branche_text as Branchen, Count(anfrage_id) as Auftrag from anfragen left join hlp_branchen on hlp_branchen.branchen_id=anfragen.branche where feedback=10 and branche=1
union
select hlp_branchen.branche_text as Branchen, Count(anfrage_id) as Auftrag from anfragen left join hlp_branchen on hlp_branchen.branchen_id=anfragen.branche where feedback=10 and branche=2
union
select hlp_branchen.branche_text as Branchen, Count(anfrage_id) as Auftrag from anfragen left join hlp_branchen on hlp_branchen.branchen_id=anfragen.branche where feedback=10 and branche=3
In dem angefügten Screenshot könnt Ihr sehen, wie die Tabelle nachher aussehen soll.
Mein Problem ist, dass sich die where-Bedingungen widersprechen. In der zweiten Spalte "Anzahl Anfragen" möchte ich die Anzahl alle Anfrage dieser Branchen haben-
in der nächsten Splate nur die Anfragen dieser Branche, wo wir den Auftrag erhalten haben (Feedback=10) - dann die Anzahl der Anfragen, wo wir zu teuer waren (Feedback=9)...

Ich nehme mal an, dass ich irgendwie mit Indixen arbeiten muss, habe nur keine Vorstellung, wie ich das anstellen soll...

Das zweite Problem ist, dass in der Tabelle (Screenshot) die Branche mit "NULL" angegeben wird, weil die Bedingung (Feedback=10) nicht erfüllt ist. Ich möchte aber, dass dann da trotzdem "OEM" drinsteht.

Ich hoffe, ich konnte die Probleme verständlich erklären und das Ihr mir helfen könnt.

Vielen Dank
Patrick
Miniaturansicht angehängter Grafiken
tabelle.jpg  
Patrick
  Mit Zitat antworten Zitat