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

Praca domowa z drugiego odcinka o MySQL

VPS Starter Arubacloud
+1 głos
3,158 wizyt
pytanie zadane 1 maja 2015 w SQL, bazy danych przez ArturB Mądrala (6,060 p.)
edycja 1 maja 2015 przez ArturB

Nakieruje ktoś lub podeśle rozwiązanie do 3 zadania:

3. Wszystkie dane na temat samochodów marki Ford posiadanych przez nas (innymi słowy: "jakie mamy auta marki Ford w firmie i co o nich wiemy?").

Dokładny opis tego co chciałbym otrzymać jest w komentarzach pod odpowiedzią Tomasz90 

2 odpowiedzi

+1 głos
odpowiedź 1 maja 2015 przez Tomasz90 Nałogowiec (25,140 p.)
Wybierasz te wiersze z tabeli auta gdzie marką jest Ford

SELECT * FROM auta WHERE marka = 'Ford';
komentarz 1 maja 2015 przez ArturB Mądrala (6,060 p.)
Ja inaczej zrozumiałem to pytanie, a mianowicie:

Co wiemy o tych autach analizując bazę danych:

1. W bazie mamy 2 auta marki Ford

2. Jedno z tych aut było wypożyczone.

i chciałbym aby te dane zostały wypisane, w tym przypadku widziałbym 2 rekordy z tym że w jednym będą również dane kto i kiedy wypożyczył, czyli wyświetlimy to "co o nich wiemy"
komentarz 1 maja 2015 przez Boshi VIP (100,240 p.)
Tyle, że w poleceniu nie ma również wyszczególnionych podpusnktów o wypożyczeniu, chodzi ogólnie.

Jak chcesz z wypozyczeniem to zapenwe będzie inner Join jeżeli są to osobne table
komentarz 1 maja 2015 przez marcin_w Gaduła (3,190 p.)

Tu chodzi o wyświetlenie, tego co wiemy o samochodach marki Ford a więc pozostałych pól czyli: model, przebieg, rocznik, kolor, ubezpieczenie. Tomasz90 dobrze napisał to zapytanie. Jeśli chcesz wiedzieć KTO wypożyczył samochód marki FORD to spróbuj użyć tego :

select klienci.imie, klienci.nazwisko, klienci.idklienta, auta.marka, auta.idauta from klienci, auta, wypozyczenia where auta.idauta=3 and auta.idauta=wypozyczenia.idauta and klienci.idklienta=wypozyczenia.idklienta;​  

 

komentarz 1 maja 2015 przez ArturB Mądrala (6,060 p.)
edycja 1 maja 2015 przez ArturB
Boshi inner Join z tego co czytam to służy do trochę innych rzeczy niż o to co mi chodzi, albo źle to rozumiem.

 diego16d gdybym to pisał na sprawdzianie to też bym tak to szybko zinterpretował, aby zrobić i mieć z głowy (lecz się kiedyś na tym przejechałem jak cała grupa, bo nauczycielowi chodziło o coś bardziej ambitnego, ale jak ktoś miał wtedy pierwszą styczność z SQL to nawet nie myślał że może być jakiś haczyk) i raczej bym nie pytał o zwykłego selecta i do Tomasza napisałem że ja inaczej rozumiem to pytanie (a nie że źle to napisał). W sumie mogłem napisać dokładniej w pierwszym poście o co mi dokładnie chodzi. Twoje zapytanie też nie pokazuje tego czego ja oczekuje (mam trochę inne wymogi co do tego zadania) - Tak jak już pisałem interesuje mnie aby wynik był połączeniem Twojego zapytania i zapytania Tomasza

Jako że jest to baza danych wypożyczalni z samochodami to JA rozumiem że jak właściciel chce, aby mu się wyświetliło wszystko na temat samochodów danej marki to w tym przypadku również o osobach które te samochody od niego wypożyczały, a również o tym że danego samochodu jeszcze nikt nie wypożyczał - Tego typu dane mogą się właścicielowi przydać np do tego żeby mógł zadecydować czy warto trzymać te auta czy nie.

Możliwe że autorowi tego pytania chodziło o zwykłego selecta, a ja chciałbym aby ktoś mnie nakierował na rozwiązanie tego zadania w ten sposób co ja zinterpretowałem to pytanie, ponieważ wydaje mi się że taka interpretacja nie jest głupia w tym przypadku.

I jak jest możliwość to żeby rozwiązanie było w jednym zapytaniu (lub za pomocą samego SQL), bo zrobienie 2 zapytań i sprawdzenie danych w php i potem ich wyświetlenie nie interesuje mnie.
komentarz 11 maja 2015 przez ArturB Mądrala (6,060 p.)
Boshi faktycznie Join rozwiązuje mój problem, tylko nie inner a left.
komentarz 27 marca 2017 przez altara Początkujący (290 p.)

Dokładnie o to samo pytał Sandwitch link do pytania Może komuś się przyda.

0 głosów
odpowiedź 21 maja 2015 przez gogosy Nowicjusz (140 p.)
Podłączę się pod pytanie. Czy może ktoś podać poprawe rozwiązanie do 7,9,10 zadania z podanej pracy domowej?
komentarz 21 maja 2015 przez ArturB Mądrala (6,060 p.)

ja tak to robiłem:

-- 7.
SELECT a.idauta, a.marka, a.model FROM auta as a, wypozyczenia as w WHERE a.idauta = w.idauta ORDER BY w.datawyp LIMIT 1

-- lub

SELECT a.idauta, a.marka, a.model FROM auta as a INNER JOIN wypozyczenia as w ON a.idauta = w.idauta ORDER BY w.datawyp LIMIT 1

-- 9
SELECT DISTINCT a.marka, a.model FROM auta as a, wypozyczenia as w, klienci as k WHERE a.idauta = w.idauta AND w.idklienta = 4

-- 10
SELECT DISTINCT a.marka, a.model FROM auta as a, wypozyczenia as w, klienci as k WHERE a.idauta = w.idauta AND w.idklienta = k.idklienta AND k.nazwisko="Pastewniak"

oczywiście 9 i 10 można też zrobić JOIN ale to zostawiam Tobie do zabawy jak chcesz

komentarz 25 maja 2015 przez gogosy Nowicjusz (140 p.)
Dzięki Artur za pomoc!.
komentarz 6 grudnia 2019 przez leen Nowicjusz (100 p.)

@ArturB, czesc.

potrzebuje także pomocy w 8 zadaniu "8. Imiona i nazwiska osób, które wypożyczyły kiedykolwiek samochód nr 1."

moj kod:

SELECT k.imie, k.nazwisko, w 
FROM klienci as k, wypozyczenia as w 
where w.idauta=1 and k.idklienta=w.idklienta
ale nic nie wychodzi , gdzie mam bład ?p rosze 

komentarz 26 stycznia 2020 przez oswaldb Nowicjusz (100 p.)
Cześć.

Też mi chwilę zeszło ale robiłem:

 

SELECT imie, nazwisko, idauta

FROM klienci, wypozyczenia

WHERE klienci.idklienta=wypozyczenia.idklienta

AND idauta=1

Podobne pytania

0 głosów
1 odpowiedź 576 wizyt
0 głosów
1 odpowiedź 165 wizyt
0 głosów
1 odpowiedź 218 wizyt
pytanie zadane 23 maja 2015 w JavaScript przez blondes Nowicjusz (120 p.)

92,963 zapytań

141,927 odpowiedzi

321,161 komentarzy

62,296 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...