Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Zapytanie łączące 2 tabele i pobierające count 2 osobnych rzeczy
Forum PHP.pl > Forum > Przedszkole
Elber
Witam,

mam problem z ułożeniem jednego zapytania do MySQL'a który wyciągnie mi wszystko na raz. Teraz robię coś takiego:

1 zapytanie

  1. SELECT products_id, name FROM products ORDER BY name ASC


2gie zapytanie

  1. SELECT COUNT(certificate_id) AS free FROM certificate WHERE products_id = "products_id" AND sell_id = "0" LIMIT 1


3cie zapytanie

  1. SELECT COUNT(certificate_id) AS free FROM certificate WHERE products_id = "products_id" AND sell_id != "0" LIMIT 1


Pierwsze odpalone w pętli while() i 2 następne wykonują się podczas przetwarzania pętli dla danej pozycji.

Jak połączyć to w jedno zapytanie ?
mmmmmmm
  1. SELECT p.products_id, p.name, Count(case when c.sell_id=0 then c.certifcate_id end) free1, Count(case when c.sell_id!=0 then c.certifcate_id end) free2 FROM products p LEFT JOIN certificate c ON c.products_id = p.products_id GROUP BY p.products_id, p.name
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.