2016-08-01 42 views
0

Ich habe eine Abfrage mit WHERE IN AnweisungSELECT verschachtelt wie INNER JOIN MySQL

SELECT DISTINCT(col) 
FROM tab1 
WHERE id>71 AND id<5073 
AND col IN (SELECT DISTINCT(col) FROM tab0 WHERE id>55 AND id<320) 

Ich habe versucht, es neu zu schreiben, mit INNER JOIN, aber ich habe weniger Ergebnisse. Was mache ich falsch?

SELECT DISTINCT(t1.col) 
FROM tab1 as t1 
    INNER JOIN (
     SELECT DISTINCT(col) 
     FROM tab0 WHERE id>55 AND id<320 
    ) AS t0o ON t1.col = t0o.col 
WHERE t1.id>71 AND t1.id<5073 
+0

zweite Abfrage hat Beschränkung 't1.col = t0o.col' dass erste Abfrage nicht – bernie

+0

hat nur zu fragen, warum Sie einen Tisch zu setzen brauchen .. welches Ergebnis Sie braucht –

+0

Danke, es war ein Tippfehler, der es gelöst hat :) – pedmillon

Antwort

1
SELECT distinct a.col 
FROM tab1 AS a 
JOIN tab0 AS b 
WHERE a.id > 71 AND a.id < 5073 
AND b.id > 55 AND b.id < 320 
AND a.col = b.col