Ich habe Probleme beim Abfragen von 2 verschiedenen Tabellen: A und B. Jede Tabelle repräsentiert die Ergebnisse einer Klasse. Die Tabellen A und B repräsentieren verschiedene Tests. Einige Schüler haben beide Tests gemacht und einige haben nur einen gemacht.SQL - Verbinden Sie 2 verschiedene Tabellen nach Namen ohne Duplikate
Hier ist eine kurze Version von dem, was ich arbeite mit:
CREATE TABLE A
(
fn varchar(50),
ln varchar(50),
score1 int
);
CREATE TABLE B
(
fn varchar(50),
ln varchar(50),
score2 int
);
INSERT INTO A (fn, ln, score)
VALUES ('abe','farm',90);
INSERT INTO A (fn, ln, score)
VALUES ('carly','lina',70);
INSERT INTO A (fn, ln, score)
VALUES ('bobby','echo',40);
INSERT INTO A (fn, ln, score)
VALUES ('joe','robin',11);
INSERT INTO B (fn, ln, score)
VALUES ('abe','farm',95);
INSERT INTO B (fn, ln, score)
VALUES ('carly','lina',75);
INSERT INTO B (fn, ln, score)
VALUES ('geb','lina',100);
INSERT INTO B (fn, ln, score)
VALUES ('bobby','echo',40);
Ich möchte eine resultierende Datentabelle erhalten, die jeden Schüler (ohne Duplikate), die NULL-Werte aus den nicht vorhandenen Partituren und Streichhölzer darstellt Vor- und Nachnamen entsprechend für jeden Schüler:
/===========================================\
| fn | ln | score1 | score2 |
|===========================================|
| abe | farm | 90 | 95 |
| bobby | echo | 40 | 40 |
| carly | lina | 70 | 75 |
| geb | lina | NULL | 100 |
| joe | robin | 11 | NULL |
\===========================================/
Ich arbeite in Microsoft SQL Server.
Können Sie mir bitte zeigen, was Sie haben versucht, so weit und zeigen die Probleme, die Sie haben. –
Wie einfache Join geben die Ergebnisse Ritus? versuchst du etwas anderes? Nach welcher Ausgabe suchen Sie? –
'select koaleszieren (a.fn, b.fn) fn, koaleszieren (a.ln, b.ln) ln, a.score score1, b.score score2 von einem vollständigen Join b auf b.fn = a.fn und b.ln = a.ln' – ZLK