• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Access / SQL problem z zapytaniem

VPS Starter Arubacloud
+1 głos
757 wizyt
pytanie zadane 17 marca 2021 w SQL, bazy danych przez Patryk2001 Początkujący (470 p.)

Dobry wieczór, staram się przygotować do matury z informatyki, aktualnie uczę się SQL, czy mógłby ktoś pomóc z jednym zapytaniem, bo już próbuje każdego sposobu ale mi nie wychodzi, za wszelką pomoc będę wdzięczny. 

Matura informatyka rok 2017 czerwiec

Zadanie:

Wyszukaj wszystkie programy z rodzaju edytor dokumentow tekstowych, które są zawarte przynajmniej w dwóch różnych pakietach. Utwórz zestawienie zawierające dla każdego z tych programów: jego nazwę, cenę oraz liczbę pakietów, w których jest zawarty.

mój kod:

SELECT Programy.program, Programy.cena, COUNT(Zestawy.Id_pakietu)
FROM Programy
INNER JOIN Zestawy ON Programy.Id_programu = Zestawy.Id_programu
WHERE rodzaj = "edytor dokumentow tekstowych"
GROUP BY Zestawy.Id_programu
HAVING COUNT(Zestawy.Id_pakietu) >= 2

 

 

2 odpowiedzi

+2 głosów
odpowiedź 17 marca 2021 przez Michał Muzyka Pasjonat (24,080 p.)
wybrane 20 marca 2021 przez Patryk2001
 
Najlepsza

Dzień dobry,
podczas wywołania funkcji agregującej, przy słowie kluczowym select nie mogą pojawić się nazwy kolumn po których nie występuje grupowanie, według mnie zadanie trzeba wykonać przy użyciu zagnieżdżonego zapytania (jeżeli kolumna nazwa programu nie jest unikalna), czyli najpierw obliczamy liczbę wystąpień danego programu w danych pakietach potem dołączamy do tego ID nazwę programu oraz jego cenę
 

SELECT p.program, p.cena, T.Liczba  FROM Programy AS p INNER JOIN (SELECT Zestawy.Id_programu, COUNT(Zestawy.Id_pakietu) AS Liczba
FROM Programy
INNER JOIN Zestawy ON Programy.Id_programu = Zestawy.Id_programu
WHERE rodzaj = "edytor dokumentow tekstowych"
GROUP BY Zestawy.Id_programu
HAVING COUNT(Zestawy.Id_pakietu) >= 2) AS T ON p.Id_programu = T.Id_programu

Nie mam dostępu do tejże bazy a więc nie wiem czy jest to rozwiązanie optymalne jednak powinno działać,
pozdrawiam.

1
komentarz 17 marca 2021 przez Patryk2001 Początkujący (470 p.)
Wow, dziękuje bardzo, odpowiedź poprawna. Już się biorę za analizę
+1 głos
odpowiedź 18 marca 2021 przez Paweł Nyczkowski Obywatel (1,620 p.)

Witam,

 sprawdź proszę czy poniższe pytanie zadziała , dawno nie pisałem zapytań w Accessie
zapytanie powinno być poprawne o ile cena za program nie jest zależna od pakietu
 

SELECT P.program, P.cena, COUNT(Z.Id_pakietu) as [ilosc pakietow]
FROM Programy as P
    INNER JOIN Zestawy as Z ON P.Id_programu = Z.Id_programu
WHERE rodzaj = "edytor dokumentow tekstowych"
GROUP BY Z.Id_programu,P.program, P.cena
HAVING COUNT(Z.Id_pakietu) >= 2

 

komentarz 20 marca 2021 przez Patryk2001 Początkujący (470 p.)
Jest Ok. działa

Podobne pytania

0 głosów
1 odpowiedź 221 wizyt
pytanie zadane 19 sierpnia 2017 w SQL, bazy danych przez Melchior Obywatel (1,300 p.)
0 głosów
1 odpowiedź 194 wizyt
pytanie zadane 11 lutego 2021 w Systemy operacyjne, programy przez Niebieski_Zerg Użytkownik (610 p.)
0 głosów
1 odpowiedź 324 wizyt
pytanie zadane 16 lutego 2017 w SQL, bazy danych przez Blue Obywatel (1,180 p.)

92,840 zapytań

141,781 odpowiedzi

320,856 komentarzy

62,172 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...