Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL] Zapytanie do bazy
CyanAppl
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 14.02.2011

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


Cześć,
Proszę o pomoc w rozwiązaniu następującego problemu:
Mam tabelę Producent o następującej strukturze:

nazwa|typ
np. A|Samochód
A|Rower
B|Telewizor
C|Rower
C|Samochód
C|Telewizor
E|Samochód
E|Samochód
E|Rower

Jak spośród takiego zestawu danych, wybrać tylko tych producentów, którzy produkują samochody i rowery tj tutaj A i E, schemat tabeli jest w uproszczeniu kolejne kolumny zawierają inne typy danych. Proszę o nie pisanie, że projekt tabeli jest zły i kolumna typ powinna zawierać id do innej tabeli.

Uczę się dopiero SQL i proszę o wyrozumiałość.

Ja wpadłem na coś takiego:
SELECT nawa
FROM Producent
WHERE typ IN('Samochód','Rower')
ale takie zapytanie jest błędne, ponieważwyświetla mi też producenta C.
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




To zapytaj o A i E a nie o Samochód i Rower o.0
Go to the top of the page
+Quote Post
CyanAppl
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 14.02.2011

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


Nie moge, bo całe zadanie jest bardziej skomplikowane, to tylko jego ostatni fragment, z którym mam problem, chodzi o to, że nie mogę zapytać tylko o A i E, bo taki jest wynik, który ma wynikać z innych założeń.
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Są 3 opcje
1) masz złe dane w tabeli
2) nie zrozumiałeś zadania
3) niedostatecznie jasno wyjaśniłeś o co Ci jednak chodzi

Skoro widzisz, że zadajesz prawidłowe zapytanie (bo tak rzeczywiście jest, tylko oczekiwania inne) a wyniki Ci się nie zgadzają to powiedz, która z powyższych opcji Ci pasuje.
Go to the top of the page
+Quote Post
CyanAppl
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 14.02.2011

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


Tak racja opcja numer 3
to jest ogolnie zadanie ze stronki http://sql-ex.ru
Jest tam napisane:
Exercise: 25
Find the printer makers which also produce PCs with the lowest RAM and the highest-speed processor among PCs with the lowest RAM. Result set: maker.
To co pogrubione to kwestia mojego zapytania/problemu
a tabela maker wyglada tak:
maker model type
A 1232 PC
A 1233 PC
A 1276 Printer
A 1298 Laptop
A 1401 Printer
A 1408 Printer
A 1752 Laptop
B 1121 PC
B 1750 Laptop
C 1321 Laptop
D 1288 Printer
D 1433 Printer
E 1260 PC
E 1434 Printer
E 2112 PC
E 2113 PC

Moje zapytanie wyglada tak:
Select maker
From Product pr
Where pr.model In (Select pct.model
From
(
Select model,Max(speed) as mx
From pc
Where ram=(Select Min(ram) From pc)
Group By model
) as pct
)

i na pierwszej bazie daje poprawny wynik, ale na drugiej troche zly tj o 3 rekordy za duzo
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: 18.09.2025 - 00:43