Ich habe 2 Tabellen mit einer 1: n-Beziehung. Ich möchte sie verbinden, ohne die Werte aus der einen Tabelle zu wiederholen (zu duplizieren).SQL Joining 2 Tabellen ohne wiederholende Werte
Erstens, ich habe eine Tabelle mit Budgets:
id name budget
1 John 1000
2 Kim 3000
Und zweitens habe ich eine Tabelle von Spendings:
id amount
1 112
1 145
1 211
Das Ergebnis sollte wie folgt aussehen:
id name budget amount
1 John 1000 112
1 null null 145
1 null null 211
2 Kim 3000 null
Ausgabe könnte auch sein: (das ist nicht wichtig)
id name budget amount
1 null null 112
1 John 1000 145
1 null null 211
2 Kim 3000 null
Ist dies mit SQL möglich?
hier ein, dass beitreten wiederholt die Werte:
create temporary table a (id1 int,name varchar(10),budget int);
insert into a (id1,name,budget) values(1,'Maier',1000),(2,'Mueller',2000);
create temporary table if not exists b (id2 int,betrag int);
insert into b (id2,betrag) values(1,100),(1,133),(1,234);
select * from a left join b
on a.id1=b.id2
;
Sie könnten es leichter zu diesem im Client als in SQ finden L. Wohin geht der Output? – Mike
Möglich? Ja. Ist es in SQL sinnvoll? Nicht wirklich, da Ihre Ergebnisse von der Reihenfolge abhängig sind, aber keine inhärente Art, sich selbst zu bestellen. – RBarryYoung
Die Ausgabe ist temporär für die Verarbeitung durch ein Programm. Doing es im Client ist viel mehr Code. Es ist nicht auftragsabhängig, weil es mir egal ist, ob John in Zeile 1,2 oder 3 ist. – jms