Jeg tror du er nødt til at vende dit problem lidt rundt...
Gruppér dine værdier (GROUP BY), udvælg værdi + COUNT(*):
- SELECT t1.key, COUNT(t1.key)-(SELECT COUNT(t2.key) FROM otherTable t2 WHERE t2.key = t1.key) AS n FROM table t1
- WHERE COUNT(t1.key) - (SELECT COUNT(t2.key) FROM otherTable t2 WHERE t2.key = t1.key) > 0
Dette skulle gerne lave følgende liste:
key | n
10001 | 1
Som kort sagt siger at 10001 findes én gang mere i table1 end i table2.
Jeg er lidt usikker på hvorledes forskellige query optimisers kan optimere eksekveringsplanen for dette, men nu ved jeg ikke hvor stort et datasæt du arbejder på. Anyways, det burde virke
Indlæg senest redigeret d. 13.10.2011 17:25 af Bruger #714