Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Zapytanie łączące 2 tabele i pobierające count 2 osobnych rzeczy
Elber
post
Post #1





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

Ostrzeżenie: (0%)
-----


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 ?

Ten post edytował Elber 3.03.2013, 20:00:30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


  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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 04:48