Affek
14.11.2016, 17:50:36
Witam,
Mam dwie tabele - T1 oraz T2. W jaki sposób mogę napisać zapytanie, które wyświetli po numerze ID (który jest taki sam w obu tabelach) rekordy, które nie występują w tabeli T1, ale występują w tabeli T2?
Z góry dziękuję za pomoc.
SmokAnalog
14.11.2016, 18:01:19
Z tego co zrozumiałem, kolumna `id` jest taka sama w obu? Jeśli tak, to możesz zrobić taki LEFT JOIN:
SELECT `t2`.*
FROM `t2`
LEFT JOIN `t1`
ON `t2`.`id` = `t1`.id
WHERE `t1`.`id` IS NULL
Affek
14.11.2016, 18:15:22
A jeśli kolumna ID nie byłaby taka sama? Np. W pierwszej tabeli T1 byłoby to id a w drugiej tabeli id_1 ?
nospor
14.11.2016, 18:17:29
No to nie mozna samemu zmieniec
`t2`.`id`
na
`t2`.`id_1`
?
Affek
14.11.2016, 19:04:07
A da się w jakiś sposób nie wyświetlać tych samych ID? W tabeli 1 ID występuje tylko raz (gdzie jest kluczem podstawowym) natomiast w tabeli 2 występuje wiele razy. Chciałbym wyświetlić te wartości które występują w tabeli 2 ale nie występują w tabeli 1 ale bez duplikatów.
Udalo się z wykorzystaniem count i group by

dzieki za pomoc!