Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Microsoft SQL Server / MSDE _ Zapytanie z wykorzystaniem dwóch tabel

Napisany przez: 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.

Napisany przez: nospor 14.11.2016, 17:59:06

Identyczny problem
http://forum.php.pl/index.php?showtopic=252864&hl=

Napisany przez: 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:

  1. SELECT `t2`.*
  2. FROM `t2`
  3. LEFT JOIN `t1`
  4. ON `t2`.`id` = `t1`.id
  5. WHERE `t1`.`id` IS NULL

Napisany przez: 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 ?

Napisany przez: nospor 14.11.2016, 18:17:29

No to nie mozna samemu zmieniec
`t2`.`id`
na
`t2`.`id_1`

?

Napisany przez: 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 smile.gif dzieki za pomoc!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)