2016-04-23 5 views
-1

Ich habe zwei TabellenWie das Feld, das gemeinsam in zwei Tabellen ignorieren

t1       t2 
-------------------   --------------------- 
no  course    no  equivalent 
-------------------   --------------------- 
1  MATH 101    2   CHEM 111  
2  CHEM 101 
3  ENG 101 

Wie ich Abfrage oder eine Abfrage mit der Funktion in PHP-Sprache schreiben, das mir Kurse zeigen und verschwinden die Kurse, dass sie keine gemeinsamen zwischen dem zwei Tische.

mag diesen

Ausgang

-------------------- 
no  course 
-------------------- 
1  MATH 101 
3  ENG 101 

in der Ausgabetabelle Kursnummer 2 ( 2 CHEM 101) nicht in der Tabelle angezeigt werden, weil ihre Zahl zwischen T1 und T2 geteilt. Ich möchte so.

+0

das Does Äquivalent wirklich 'CHEM 111' oder' CHEM 101' auch? – rmondesilva

+0

@Anant Dies funktioniert nur, wenn in t2 nur 1 Zeile vorhanden ist. Andernfalls erhalten Sie "2, CHEM 101, 3, anderes Äquivalent" –

+0

So etwas wie 'SELECT * FROM t1 NATÜRLICHEN JOIN t2' wird Ihnen die gewünschten Ergebnisse geben. Ist Ihre Frage auch, wie Sie MySQL-Abfragen in PHP ausführen? Das sind wirklich zwei getrennte Fragen. –

Antwort

-1

Versuchen Sie, diese

SELECT * FROM t1 WHERE t1.no NOT IN (SELECT no FROM t2)

+1

Was passiert, wenn die zweite Tabelle mehr Zeilen enthält? Ihre Frage wird nicht funktionieren Ich denke wie 'SELECT * FROM t1 WHERE t1.no! = (1,2,3,4,5)' –

+0

Warum Vergleich basierend auf ID, was passiert, wenn ID in beiden Tabellen unterscheidet, aber Werte sind üblich ? –

2
select no From t1 where no not in (select no from t2); 
+0

Warum Vergleich basierend auf ID, was passiert, wenn id in beiden Tabellen unterscheidet, aber Werte sind üblich? –

+0

Sie müssen nur den Spaltennamen ändern, 'wählen nein aus t1 wo nein nicht (wählen ID aus t2);' – Hachachin

+0

was passiert, wenn beide Tabellen Hunderte von IDs haben, die in beiden Tabellen unterschiedlich sind, aber gemeinsame Werte? –

Verwandte Themen