nie ma błędu, poprostu nie dostaje wyniku
dodam jeszcze że odwrotność tzn
SELECT * FROM zamowienia_towar
LEFT
JOIN zamowienia_towar_sklepy ON zamowienia_towar
.id
=zamowienia_towar_sklepy
.id_zt AND
(zamowienia_towar_sklepy
.sklep_id
='16' or zamowienia_towar_sklepy
.sklep_id
='17')WHERE zamowienia_towar.dostawca LIKE '%$dostawca%'
GROUP BY zamowienia_towar_sklepy.id_zt
wyświetla 819 z 831 czyli pierwszy przykład powinien wywalić 12 rekordów
już wyświetla się te 12 rekordów
źle grupowałem zamiast "GROUP BY zamowienia_towar_sklepy.id_zt" ma być "GROUP BY zamowienia_towar.id"
tyle że jakby nie działa to "AND (zamowienia_towar_sklepy.sklep_id='16' or zamowienia_towar_sklepy.sklep_id='17')" ponieważ gdy do zapytania dodam "count(zamowienia_towar_sklepy.id_zt) as ile" to ile powinno zawierać 0 lub 1 a zwiera też więklsze liczby pomimo tego że 1 sklep_id posiada tylko 1 id_zt
okazało się że błąd jest w innym miejscu i 1 sklep_id posiada może posiadać więcej niż 1 id_zt tak więc problem rozwiązany dziękuje za zainteresowanie.