Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Trudne proste zapytanie, Jak uzyskać właściwy rekord
yoxiray
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 20.04.2012

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


Męczę się z tym już jakiś czas i nie mogę napisać zapytania, aby uzyskać właściwy wynik. Musze prosić o pomoc...
Jest następująca tabela: Product(maker, model, type)
maker type model
A Laptop 1298
A Laptop 1752
A PC 1232
A PC 1233
A Printer 1276
A Printer 1401
A Printer 1408
B Laptop 1750
B PC 1121
C Laptop 1321
D Printer 1288
D Printer 1433
E PC 1260
E PC 2112
E PC 2113
E Printer 1434
Pytanie: znajdź producentów, którzy produkują tylko modele jednego typu i liczba tych modeli jest większa niż 1. W wyniku wyświetl, producent, type
Prawidłowy wynik to: "D, Printer", tylko SQL
  1. SELECT maker, type, model
  2. FROM product
  3. GROUP BY maker, type, model
  4. HAVING COUNT(DISTINCT maker) =1 AND CONT(model)>1


Go to the top of the page
+Quote Post
alegorn
post
Post #2





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

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


nie do konca zrozumialem o co biega, ale sprawdz czy czasem nie o to ci chodzi..
ewentualnie powinno cie to naprowadzic.


  1. SELECT *,COUNT(0) AS ile FROM `test`
  2. GROUP BY a,b
  3. HAVING ile>1
Go to the top of the page
+Quote Post
zegarek84
post
Post #3





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


  1. SELECT maker, type
  2. FROM product
  3. GROUP BY maker
  4. HAVING COUNT(DISTINCT type) = 1 AND COUNT(model)>1

lub z podzapytaniami...
Go to the top of the page
+Quote Post

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: 23.08.2025 - 15:11