![]() |
![]() |
![]()
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. |
|
|
![]() |
![]()
Post
#2
|
|
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 08:56 |