Hallo Foren-Gemeinde,
ich habe ein MySQL-Problem:
Ziel ist eine kleine Projektverwaltung, die 1:n mit einer Anschrift verknüpft sein soll.
Daher gibt es die Tabellen project und address.
Tabelle project:
id -> INT(11) PRIMARY auto_increment
address -> INT(11) -> Verknüpfung zur Adresse
title -> varchar(250)
status -> VARCHAR(30)
Tabelle adrdress:
id -> INT(11) PRIMARY auto_increment
matchcode -> VARCHAR(250)
Zum Problem: Ich suche alle offenen Projekte und die Adresse dazu:
Damit finde ich alle Projekte, denen eine Adresse zugeordnet wurde. Manchen Projekten wurde aber (noch) keine Adresse zugeordnet.
Mein Ansatz:
Jetzt finde ich die Projekte ohne Adresszuordnung so oft, wie Adressen existieren.
Ich kann natürlich GROUP BY nutzen, aber in der Ergebnismenge steht dennoch ein falscher Matchcode.
Ich kann auch eine zweite Selektion mit address=0 durchführen, aber dann hätte ich zwei Ergebnisse, die ich nicht sortiert bekomme.
Ich komme einfach nicht auf die Lösung. Kann mich da jemand auf das richtige Gleis setzen?
Danke.
ich habe ein MySQL-Problem:
Ziel ist eine kleine Projektverwaltung, die 1:n mit einer Anschrift verknüpft sein soll.
Daher gibt es die Tabellen project und address.
Tabelle project:
id -> INT(11) PRIMARY auto_increment
address -> INT(11) -> Verknüpfung zur Adresse
title -> varchar(250)
status -> VARCHAR(30)
Tabelle adrdress:
id -> INT(11) PRIMARY auto_increment
matchcode -> VARCHAR(250)
Zum Problem: Ich suche alle offenen Projekte und die Adresse dazu:
Code:
SELECT t1.title, t2.matchcode FROM project AS t1, address AS t2 WHERE t1.status="offen" AND t1.address=t2.id;
Damit finde ich alle Projekte, denen eine Adresse zugeordnet wurde. Manchen Projekten wurde aber (noch) keine Adresse zugeordnet.
Mein Ansatz:
Code:
SELECT t1.title, t2.matchcode FROM project AS t1, address AS t2 WHERE t1.status="offen" AND (t1.address=t2.id OR t1.address=0);
Jetzt finde ich die Projekte ohne Adresszuordnung so oft, wie Adressen existieren.
Ich kann natürlich GROUP BY nutzen, aber in der Ergebnismenge steht dennoch ein falscher Matchcode.
Ich kann auch eine zweite Selektion mit address=0 durchführen, aber dann hätte ich zwei Ergebnisse, die ich nicht sortiert bekomme.
Ich komme einfach nicht auf die Lösung. Kann mich da jemand auf das richtige Gleis setzen?
Danke.