SQL-Abfragen: nach zwei Namen suchen

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

In MySQL ist das so:

SELECT Warenbezeichnung, Kunde FROM einkauf WHERE Kunde= 'Martina Groß' OR Kunde = 'Oliver Gross';

Das OR also logische "Oder" ist eine Verknüpfung, die eine zusätzliche Ergebnismenge liefert. Bei einer "AND"-Verknüpfung würde kein Ergebnis kommen, weil der Name nicht gleichzeitig beiden entsprechen kann.

OR im WHERE-Statement liefert immer genauso viele oder mehr Ergebnisse als eine einzelne Bedingung. AND liefert immer genauso viele oder weniger. je nachdem, wie die darauffolgende Bedingung aussieht.

Wenn Du die Datensätze dann unterscheiden oder besser zuordnen möchtest, musst Du zusätzlich den Kunden im Select-Statement auswählen.


Mario5002 
Fragesteller
 25.03.2015, 18:28

Vielen Dank

0

Du kannst es entweder mit einem OR machen:

SELECT Warenbezeichnung, Kunde

FROM einkauf

WHERE Kunde = 'Martina Groß'

OR Kunde = 'Oliver Groß';

Alternativ ginge es auch mit IN:

SELECT Warenbezeichnung, Kunde

FROM einkauf

WHERE Kunde IN ('Martina Groß', 'Oliver Groß');

Wenn ich mir aber die Aufgabenstellung anschaue, steht da "wohnen im gleichen Haus". Evtl. kannst du über die Lieferadresse selektieren. Das ginge dann etwa so:

SELECT Warenbezeichnung, Kunde

FROM einkauf

WHERE Adresse = '...';

Allerdings erhältst du dann evtl. auch noch Bestellungen andere Hausbewohner.