Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Jak porównać dane z 2 tabel i je wypisać
Forum PHP.pl > Forum > Przedszkole
cent4
Witam.
Mam 2 tabele, A i B - tabele mają takie same pola.
Jak zbudować zapytanie, które pobierze mi dane do jakiejś tablicy i porówna te pola z tabel A i B, i jeśli pola będą sobie równe - wypisze tylko te dane?
erix
  1. WHERE NOT IN

i podzapytaniem lecisz.
cent4
$SQL = "SELECT Med, Kat, Nr_id FROM media WHERE id=$id AND WHERE Med, Kat, Nr_id NOT IN (SELECT * FROM historia)

Chyba coś namieszałem - bo coś takiego jak wyżej mi nie działa.
erix
Cytat
bo coś takiego jak wyżej mi nie działa.

Dali mi bana na szklaną kulę.
cent4
Tabele:
- media
- historia

pola w tych tabelach:
- Med
- Kat
- Nr_id

polecenie ma wypisać dane, które są takie same w tych odpowiednich polach
erix
No to wykreśl wtedy not, przecież składnia warunku jest identyczna jak zdania rozkazującego w języku angielskim...
cent4
Proszę pomóżcie mi zbudować to zapytanie...

Dalej mi nie wychodzi sciana.gif

Rozwiązałem ten problem:
  1. $ZAPYT = "SELECT Med, Kat, Nr_id FROM media WHERE id=$id ORDER BY ".$sidx." ".$sord. " LIMIT ".$start." , ".$limit;
  2. $resultat = mysql_query( $ZAPYT ) or die("Could not execute query.".mysql_error());
  3.  
  4. $row = mysql_fetch_array($resultat);
  5.  
  6. $SQL = "SELECT egzempl.Med, egzempl.Kat, egzempl.Nr_id, egzempl.Nr_egz, egzempl.Wartosc, egzempl.Dostepny, egzempl.Nr_czyt, egzempl.Data_wpr FROM egzempl WHERE Med='$row[Med]' AND Kat='$row[Kat]' AND Nr_id='$row[Nr_id]'


Ale mam kolejne pytanie - jak w polu gdzie mam: egzempl.Nr_czyt - wstawić imie z innej tabeli o odpowiadającym numerze czytelnika?
erix
A może byś tak kurs przeczytał jakiś, co nie?
cent4
Ale mi pomogłeś. Nie no wielkie dzięki...
Valdi_B
Spróbuj taką instrukcję:
  1. SELECT m.*
  2. FROM media AS m JOIN historia AS h
  3. ON m.Med=h.Med AND m.Kat=h.Kat AND m.Nr_id=h.Nr_id
Znaczenie poszczególnych fragmentów:
m.* - wszystkie kolumny z tabeli "m" (synonim Media),
AS m - definicja synonimu "m" (dla tabeli media),
AS h - definicja synonimu "h" (dla tabeli historia),
ON... - warunek łączenia tych 2 tabel - właśnie na równość poszczególnych 3 kolumn.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.