Posiadam dwie tabele w MySQL.
Pierwsza zawiera dane o produktach - nazwa, opisy, itp.
Druga zawiera stany magazynowe i ceny.
Obie posiadają kolumnę SKU - czyli identyfikator produktu.
Mam do przygotowania dajmy na to stronę z widokiem produktów z danej kategorii.
Chcę zatem, aby było zawarte w niej stronnicowanie oraz żeby wyświetlały się tylko produkty, które mają stan magazynowy i cenę większą od 0.
Na jednej stronie ma znajdować się 28 produktów. Na początku zrobiłem to w taki sposób, że używałem zwykłego SELECTA do wybrania produktów z kategorii, wrzucałem pętle i w niej wykonywałem kolejne zapytanie o stan magazynowy i cenę. Ale robi się wtedy straszny nieład ze względu na liczbę produktów na stronie. Oczywiście udało mi się to rozwiązać PHPem, ale chciałbym całość zawrzeć w jednym pytaniu SQL.
Czyli do tej pory miałem coś takiego:
SELECT * FROM products WHERE catname LIKE "%'.$cname.'%"
Tutaj wjeżdżała pętla While, która przechodzi przez każdy produkt. Następnie sprawdzanie stanów i cen.
SELECT * FROM stocksandprices WHERE sku = "'.$row['sku'].'
Czyli chciałbym te 2 pytania z dwóch różnych tabel zawrzeć w jedno zapytanie.
Próbowałem w taki sposób, ale to chyba nie ma prawa działać

SELECT * FROM products, stocksandprices WHERE products.catname LIKE "%'.$cname.'%" AND products.sku = stocksandprices.sku AND NOT stocksandprices.price = 0 AND NOT stocksandprices.stock = 0