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

Sql pomoc w stworzeniu komendy

Object Storage Arubacloud
0 głosów
230 wizyt
pytanie zadane 11 stycznia 2019 w SQL, bazy danych przez Jurasekox Nowicjusz (160 p.)
Witam potrzebuje osoby która pomoże mi napisać komendę. A mianowicie mam dwie tabele w jednej dane ucznia i w tym rekord uprawiane sporty (problem w tym, że jest tam kilka sportów np piłka nożna , hokej, koszykówka.) A druga tabele z informacjami klubu (nazwa, data założenia) i rodzaj sportu uprawianego w nim np piłka nożna. Moim zadaniem jest wyświetlenie wszystkich uczniów którzy trenowali odpowiednie sporty oraz nazwy klubów do których się nadają.
> Z góry dziękuję!

1 odpowiedź

0 głosów
odpowiedź 11 stycznia 2019 przez Jurasekox Nowicjusz (160 p.)
Tabela 1 ma info o klubach nazwy rok założenia adresy i rodzaj uprawianego sportu np hokej. Druga natomiast ma info o uczniu, ile ma lat gdzie mieszka i jakie sporty to interesują(tu się pojawia problem ponieważ ma kilka sportów np piłka nożna, hokej, koszykówka) chce w rezultacie otrzymać informacje o uczniu i przypasowanie pod wzgkedem jego zainteredowam do danego klubu (wystarczy tylko nazwa tego klubu)
komentarz 11 stycznia 2019 przez DragonCoder Nałogowiec (36,500 p.)
nazwa tabel + kolumny jakie zawieraja bedzie pomocna. Jak obie tabele sa ze soba polaczone? Bo poki co nie widze, zebys przypisal do danej osoby idclubu lub idosoby, albo nie ma 3 tabeli, gdzie bylyby oba id.
komentarz 11 stycznia 2019 przez Jurasekox Nowicjusz (160 p.)
Tabela uczniowie. Imię nazwisko rok urodzenia zainteresowania sportem (nożna,koszykówka,hokej)

Tabela kluby. Nazwa klubu, rok założenia, rodzaj sportu
komentarz 11 stycznia 2019 przez DragonCoder Nałogowiec (36,500 p.)
Sam robils ta tabele, czy dostales ja juz gotowa?
komentarz 11 stycznia 2019 przez Jurasekox Nowicjusz (160 p.)
Sam robiłem. Chodzi mi o komendę która porówna wartość ciągu ż kolumny zainteresowanie sportem ż kolumna ż drugiej tabeli uprawiany sport w klubie i wyświetli mi wynik w postaci danych ucznia z przypasowana nazwa klubu do którego się nadaje
komentarz 11 stycznia 2019 przez DragonCoder Nałogowiec (36,500 p.)
SELECT *
FROM user
INNER JOIN club
ON user.rodzaj_sportu = club.rodzaj_sportu

To juz cos w tym stylu. Musisz polaczyc obie tabele, ale nie sa one poalczone zadnym iid, wiec musisz zanelzc wspolny mianownik, a jest nim rodzaj sportu jaki moze uprawiac uzytkownik i jakim sportem zajmuje sie klub. Sprawdz to zapytanie i powiedz czy wyswietla wszystko poprawnie

komentarz 11 stycznia 2019 przez Jurasekox Nowicjusz (160 p.)
Jak mam klub a: uprawiany sport w nim to hokej

I uczniów: Marta która lubi biegać, skakać

Kacper co lubi grać w hokeja i piłkę nożną

Maciek co lubi grać w hokeja i biegać

Wynikiem maja być dane Maćka i Kacpra
komentarz 11 stycznia 2019 przez Jurasekox Nowicjusz (160 p.)
pojawia mi sie blad "nie mozna dokonac sprezenia wedlug pol typu MEMO, OLE lub obiekt Hyperlink"
komentarz 11 stycznia 2019 przez DragonCoder Nałogowiec (36,500 p.)
A no tak, bo tabele nie sa polaczone ze soba. to jedyny ppomysl, jaki mi przychodzi jeszcze do glowy, to sprobowanie WHERE. Nie moge wyprobowac komendy, bo nie ma mnie w domu, ale wydaje mi sie, ze to i tak sie nie uda i bedziezs musial zmienic strukture bazy danych i polaczyc tabele ze soba. Poprzez przypisanie id z jednej tabeli do drugiej (w zwiazku 1:n, po stronie 1, a w zwiazku n:m, msuisz utworzyc nowa tabele). Zreszat skoro uczen moze miec wiecej niz jeden sport to i tak musisz zmienic strukture bazy
komentarz 11 stycznia 2019 przez Jurasekox Nowicjusz (160 p.)
Wydaje mi się że bym musiał te soorrt ucznia potraktować jako osobny ciąg znaków czyli hokej osobno noga osobno i komenda która wyszukaj spośród tego ciągu znaku np hokej. Kurde nie wiem jak to zrobić
komentarz 11 stycznia 2019 przez Jurasekox Nowicjusz (160 p.)
Mógłbyś mnie oświecić jak to zrobić?
komentarz 11 stycznia 2019 przez DragonCoder Nałogowiec (36,500 p.)
Chodzi tylko o to, ze w jeden uczen moze uprawiac wiecej niz jeden sport, a jeden sport moze byc uprawiany przez wiecej niz jednego ucznia. W tym momencie tworzysz 3 tabele. 1. uczniowie, 2. sporty, a 3. sport_uczen i tam laczysz ucznia z danym sportem poprzez uzycie id z dwoch pierwszych tabel. Oprocz tego potrzebujesz tabeli dla klubow. Wiec masz juz 4, a reszta to tylko przemyslenie, jak je ze soba polaczyc, tak zebys mogl uzyskac dowolne dane
komentarz 11 stycznia 2019 przez Jurasekox Nowicjusz (160 p.)
A niedaloby rady żeby mi te zainteresowane sporty wczytywalo jako ciąg znaków i jak się pojawi ten ciąg znaków w danym klubie to mi wypisuje?
komentarz 11 stycznia 2019 przez Jurasekox Nowicjusz (160 p.)
Kurde nie ogarniam jak to zrobić, a pilnie potrzebuje tej komendy
komentarz 11 stycznia 2019 przez DragonCoder Nałogowiec (36,500 p.)
Daloby sie, sprawdzasz czy dany znak pojawil sie w sport_rodzaj klub. Prueczytaj o LIKE.

A pilnie, poniewaz?
komentarz 11 stycznia 2019 przez Jurasekox Nowicjusz (160 p.)
Ponieważ jestem 4 lata po szkole informatycznej, niestety wiekszosc rzeczy zapomnialem co do dzialania na bazach danych, notatek rowniez nie posiadam ;(. Chce po prostu rozbic sobie ten kod na czynniki pierwsze i przypomnieć sobie co nieco :)
komentarz 12 stycznia 2019 przez DragonCoder Nałogowiec (36,500 p.)
Tylko ze wersja z LIKE dziala, gdy wpisujesz cos i sprawdzasz w tym czssie, wiec potrzbujesz innego jezyka w miedzy czasie. Bo w samym sql sie nie da
komentarz 12 stycznia 2019 przez Jurasekox Nowicjusz (160 p.)
A jak to ma mniej więcej wyglądać?:D
komentarz 12 stycznia 2019 przez DragonCoder Nałogowiec (36,500 p.)
Ale ja nie wiem co chcesz zrobic. Chcesz poćwiczyć tylko komendy, to stsorz tabele uczniowie, kluby i polacz je w 3 tabeli
komentarz 12 stycznia 2019 przez Catalonya1992 Mądrala (5,440 p.)
Poczytaj o łączeniach tabel, tzn. instrukcji join, bo tego tutaj potrzebujesz. W tym miejscu znajdziesz omówienie przykładowego zapytania: https://www.youtube.com/watch?v=MOCe2a-Wkmg&list=PL8g9gILZp1OJpjlu7AuR9Ysu4z5Rff_AQ&index=13
komentarz 12 stycznia 2019 przez DragonCoder Nałogowiec (36,500 p.)

Troche mnie meczylo to pytanie, jak moge uzyskac nazwy klubow, skoro tabele nie sa polaczone. W koncu sie obudzilem, a w glowie zaswitala idea, ktora powinna odrazu wpasc mi do glowy, czyli query in query.

select *
from club
where club.sport = (
                                  select usere.sport 
                                  from usere
                                  where usere.id = 2);

Czyli pobierasz wszystkie informacje z tabeli club, gdzie rodzaj sportu jest = pobierasz rodzaj sportu z tabeli user, gdzie id.user = (dowolne id, zalezy kogo chcesz sprawdzic).

komentarz 12 stycznia 2019 przez Jurasekox Nowicjusz (160 p.)
przywrócone 12 stycznia 2019 przez Jurasekox
mam tu zastosowac 3 tabele?
komentarz 12 stycznia 2019 przez Jurasekox Nowicjusz (160 p.)
to bedzie mi laczyc tych uzytkownikow na podstawie id?
komentarz 12 stycznia 2019 przez DragonCoder Nałogowiec (36,500 p.)
Najpierw trzeba postawic sobie zadanie, pozniej okreslic zadanie bazy, okreslic zwiazki miedy tabelami itd. Wszystko zalezy od zalozen jakie sie ma
komentarz 12 stycznia 2019 przez Jurasekox Nowicjusz (160 p.)
Moim zadaniem jest utworzenie raportu z danymi osobowymi i dopasowaniem do odpowiedniego klubu na podstawie uprawianego sportu. Związki między tabelami są inne ponieważ jedną zawiera info o uczniu druga o klubie, częścią wspólną jest jedynie sport ( u ucznia wyszukuje dany sport i dopasowuje do klubu gdzie może uprawiać ten sport) wynikiem końcowym ma być raport
komentarz 12 stycznia 2019 przez DragonCoder Nałogowiec (36,500 p.)
Podalem Ci zspytanie, rozwiazanie w tym przypsdku jest query in query. Spojrz 5 komentarzy wyzej i masz podane na tacy. Dzialac powinno, wyprobuj

Podobne pytania

0 głosów
2 odpowiedzi 415 wizyt
pytanie zadane 10 października 2016 w PHP przez rejzer Użytkownik (680 p.)
+1 głos
1 odpowiedź 344 wizyt
pytanie zadane 19 października 2020 w PHP przez Kacperhehe Bywalec (2,930 p.)
0 głosów
1 odpowiedź 123 wizyt
pytanie zadane 20 marca 2019 w SQL, bazy danych przez Maikeru Początkujący (250 p.)

92,614 zapytań

141,465 odpowiedzi

319,774 komentarzy

61,996 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...