"kontrahenci"
+----------------+------------------+ | id_kontrahenta | kontrahent_nazwa | +----------------+------------------+ | 1 | firma_1 | | 2 | firma_2 | | 3 | firma_3 | +----------------+------------------+
"cennik"
+----+----------------+--------+----------------+ | id | id_kontrahenta | cena | artykul | +----+----------------+--------+----------------+ | 1 | 1 | 11.00 | Ręczniki | | 2 | 1 | 22.00 | Szmaty | | 3 | 1 | 33.00 | Obrusy | | 4 | 1 | 44.00 | Poszwy | | 7 | 2 | 111.00 | Kołddry | | 8 | 2 | 222.00 | Poduszki | +----+----------------+--------+----------------+
Próbuje uzyskać z tego taki efekt:
firma_1
Ręczniki 11.00
Szmaty 22.00
Obrusy 33.00
Poszwy 44.00
firma_2
Kołdry 111.00
Poduszki 222.00
Próbowałem to zrobic na jednym zapytaniu, kombinowałem z joinem ale coś nie wyszło...
SELECT kontrahenci.id_kontrahenta, kontrahenci.kontrahent_nazwa, cennik.id_kontrahenta, cennik.artykul, cennik.cena FROM kontrahenci JOIN cennik ON kontrahenci.id_kontrahenta = cennik.id_kontrahenta
Ostatecznie mam na 2 zapytaniach...ale wyświetla mi również na samym dole firma_3 (który jest pusty), nie zawiera artykułów, a chce zeby pokazywało mi tylko te firmy które posiadają artykuły. Kod:
$query1 = mysql_query("SELECT id_kontrahenta, kontrahent_nazwa FROM kontrahenci ORDER BY kontrahent_nazwa"); $query2 = mysql_query("SELECT artykul,cena FROM cennik WHERE id_kontrahenta='".$row1['id_kontrahenta']."'"); } }
Podejrzewam że musi to być zrobione tym joinem w jednym zapytaniu, ale nie umiem sobie poradzić. Prosze o pomoc.
Pozdrawiam.