TROR jag har det.
Med en UNION ALL på båda tabellerna och en koll av hur många gånger en rad förekommer (2 gånger så finns raden i båda tabellerna, 1 gång så finns den bara i tabell1).
Kod:
SELECT count(*) as count, temp.* FROM
(
(SELECT DISTINCT id, value FROM table1 WHERE id IN (SELECT id FROM table2) )
UNION ALL
(SELECT DISTINCT id, value FROM table2 LEFT JOIN table1 ON table2.id = table1.id WHERE table1.value = table2.value) )
as temp
GROUP BY temp.id, temp.value HAVING count = 1
I frågan efter "UNION ALL" så gör jag en JOIN med tabell1 eftersom tabell2 ibland kan innehålla rader som inte tabell1 innehåller, då ska dessa rader i tabell2 inte tas med, för då kommer dessa rader ge "count=1" fast de inte ska vara med i resultatet.
Frågan är hur snabb denna fråga är när mängden data växer. Hur är prestandat på "UNION ALL" rent generellt, bevaras eventuella index?