Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dwie tabele i niepowtarzajace sie dane
yavaho
post
Post #1





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Mam dwie tabele i jak mam sformuowac zapytanie aby wyswietlic kolory z tabeli1 ktorych nie ma w tabeli2?

tabela1
ID | kolory
----------------
01 | czerwony
02 | niebieski
03 | zielony
04 | bialy
05 | czarny

tabela2
ID | kolory
----------------
01 | czerwony
02 | niebieski
03 | zielony

I teraz jak wswietlic z tabeli1 kolor bialy i czarny? (to sa te kolory ktorych nie ma w tabeli2)
Go to the top of the page
+Quote Post
kicaj
post
Post #2





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

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


  1. <?php
  2. $query1 = &#092;"SELECT * FROM tabela1\";
  3. $result1 = mysql_query( $query1 );
  4.  
  5. while( $row1 = mysql_fetch_array( $result1 ) )
  6. {
  7. $query2 = &#092;"SELECT * FROM tabela2 WHERE kolory != '\".$row1['kolory'].\"'\";
  8. $result2 = mysql_query( $query2 );
  9.  
  10. while( $row2 = mysql_fetch_array( $result2 ) )
  11. {
  12. echo $row2['kolory'] . &#092;" <br /> \";
  13. }
  14. }
  15. ?>

Nie wiem czy to zadziala, ale jesli by to jest to troche amatorskie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
yavaho
post
Post #3





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Ten przyklad ktory dales mozna rowniez napisac w jedym zapytaniu:
  1. <?php
  2. $query = &#092;"SELECT * FROM tabela1, tabela2 WHERE (tabela1.kolory <> tabela2.kolory)\";
  3. ?>

Ale w ten sposob sprawdza kazdy rekord z tabeli1 i porownuje go z kazdym rekordem z tabeli2.
A w wyniku wyswietla wszystkie mozliwosci w ktorych (tabela1.kolory <> tabela2.kolory)
Ja w wyniku musze otrzymac tylko dwa wiersze.
Go to the top of the page
+Quote Post
zalew
post
Post #4





Grupa: Zarejestrowani
Postów: 407
Pomógł: 0
Dołączył: 24.10.2002
Skąd: warszawa

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


'distinct' nie zalatwi sprawy?
Go to the top of the page
+Quote Post
yavaho
post
Post #5





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Tez nic z tego
Disting wyszukuje niepowtarzajacych sie rekordow w jednej tablicy. Nie potrafi porownac dwoch tablic.
Szkoda ze Disting nie potrafi wybrac rekordy juz z wynikow wyszukiwania, tak jak to robi polecenie np ASC lub DESC.
Go to the top of the page
+Quote Post

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: 23.08.2025 - 17:45