Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Różnica wierszy miedzy tabelami
kl4mor
post
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 7.12.2008

Ostrzeżenie: (0%)
-----


Witam
Mam pewnien problem, tzn mam dwie tabele

TAB 1.
| id | value |
| 1 | 123 |
| 2 | 1234 |
....
| 100 | 123499 |


TAB 2.
| id | value |
| 1|123 |
| 2|1234|
....
| 100 | 123499 |
| 101 | 123423499 |
| 102 | 122343499 |


portrzebuje pobrać tylko wiersze które nie wuystępują w TAB 1 na jednym zapytaniu?



Ten post edytował kl4mor 27.03.2012, 08:55:27
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


Można to zrobić na trzy sposoby:
  1. SELECT `t2`.* FROM `TAB2` `t2` LEFT JOIN `TAB1` `t1` ON `t1`.`id` = `t2`.`id` WHERE `t1`.`id` IS NULL

  1. SELECT `t2`.* FROM `TAB2` `t2` WHERE `t2`.`id` NOT IN (SELECT `id` FROM `TAB1`)

  1. SELECT `t2`.* FROM `TAB2` `t2` WHERE NOT EXISTS (SELECT NULL FROM `TAB1` `t1` WHERE `t1`.`id` = `t2`.`id`)

Pierwsze dwa są wydajniejsze.

Ten post edytował mortus 27.03.2012, 13:02:20
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 20:55