mysql anfängerfrage
kai
- datenbank
0 Vinzenz Mai0 danke
0 Hans
hallo zusammen,
ich bräuchte eine mysql abfrage die mir aus 2 tabellen die
datensätze ausspukt die nur in einer vorkommt.
ich meine sowas wie 'left join' in dem zusammenhang mal gelesen zu haben. kann mir da jemand weiterhelfen ?
also tabelle a und b haben beide ein feld 'id' das in beiden gleich
belegt ist.. nun will ich aus b alle id´s die in a nicht vorkommen
geht das ?
danke schonmal
kai
Hallo Kai,
ich bräuchte eine mysql abfrage die mir aus 2 tabellen die
datensätze ausspukt die nur in einer vorkommt.
ich meine sowas wie 'left join' in dem zusammenhang mal gelesen zu haben. kann mir da jemand weiterhelfen ?
Das ist eine Möglichkeit, Subselects (MySQL 4.1 oder höher erforderlich) eine weitere.
also tabelle a und b haben beide ein feld 'id' das in beiden gleich
belegt ist.. nun will ich aus b alle id´s die in a nicht vorkommen
geht das ?
Ja.
SELECT a.id, b.id
FROM b
LEFT OUTER JOIN a
ON a.id = b.id
liefert Dir alle Datensätze aus b mit den zugehörigen Entsprechungen in a.
Gibt es in a keine Entsprechung, so steht in a.id der Wert NULL. Die notwendige WHERE-Klausel solltest Du selbst hinkriegen. [1]
Freundliche Grüße
Vinzenz
[1] Vergleich mit NULL erfolgt mittels IS NULL, _nicht_ mit dem Gleichheitsoperator.
vieln dank das isste :-)
Hi Kai,
da gibt es zwei Möglichkeiten:
1.) select id from tabelle_b where id not in (select id from tabelle_a);
2.) select id from tabelle_b minus select id from tabelle_a;
zu 1.)
Hier werden nur die id's aus Tabelle_b ausgegeben, die nicht in tabelle_a vorkommen.
zu 2.)
Stell Dir einen Topf voller ID's vor. Das sind die ID's von Tabelle_b. Das Minus zieht nun alle die ID's aus dem Topf, die in tabelle_a vorkommen. Was im Topf übrig bleibt, sind die ID's, die nur in tabelle_b vorkommen.
Gruß
Hans
hallo zusammen,
ich bräuchte eine mysql abfrage die mir aus 2 tabellen die
datensätze ausspukt die nur in einer vorkommt.
ich meine sowas wie 'left join' in dem zusammenhang mal gelesen zu haben. kann mir da jemand weiterhelfen ?also tabelle a und b haben beide ein feld 'id' das in beiden gleich
belegt ist.. nun will ich aus b alle id´s die in a nicht vorkommen
geht das ?danke schonmal
kai
vieln dank das isste :-)
echo $begrüßung;
2.) select id from tabelle_b minus select id from tabelle_a;
Das ist keine in MySQL funktionierende Möglichkeit.
echo "$verabschiedung $name";