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

Pomoc z zapytaniem sql

Object Storage Arubacloud
0 głosów
379 wizyt
pytanie zadane 14 sierpnia 2018 w SQL, bazy danych przez fipooo Bywalec (2,880 p.)

Jak napisać zapytanie które zwróci mi "zwracanie" - tab2 która w tab3 ma przypisany numer 2 i 4? Albo 3 i 2. Czyli w 1 przypadku chciałbym dostać "ooo" a w 2 "hhh".

 

komentarz 15 sierpnia 2018 przez Ubermade Bywalec (2,020 p.)
To brzmi jak jakieś zadanie z matematyki z wykrzyknikiem :d Mógłbyś to jakoś uprościć?
komentarz 15 sierpnia 2018 przez fipooo Bywalec (2,880 p.)

Bardziej niż na obrazku się chyba nie da. Chcę wyciągnąć "zwracanie" to na niebiesko w zależności od tego jaki numer ma przypisane w tab3 to na czerwono.

4 odpowiedzi

+2 głosów
odpowiedź 15 sierpnia 2018 przez Arkadiusz Waluk Ekspert (287,950 p.)
wybrane 15 sierpnia 2018 przez fipooo
 
Najlepsza
Też nie jestem pewien czy dobrze zrozumiałem z tego rysunku ale łączenie tabel robi się poprzez JOIN. W jednym zapytaniu dołączasz wtedy jedną tabelę do drugiej i łączysz rekordy po danym warunku - najczęściej id będące kluczem obcym w danej tabeli z id kluczem podstawowym w drugiej.
komentarz 15 sierpnia 2018 przez fipooo Bywalec (2,880 p.)

Dobra mam zrobiłem łączenie tabel ale mam inny problem. Jak napisać zapytanie które zwróci mi wartości z tab1 w zależności od tab3. Np. w tab3 mamy przypisane (wiele do wielu tablica) do tab1 - ID 1 wartość 2222 i 1111 i chcę dostać te wyniki które mają przypisane takie wartości. Napisałem tak 

SELECT DISTINCT  e.ID, e.Nazwa, e.Tekst FROM tab1 as e JOIN tab3 as c WHERE e.ID = c.tab1ID;

i to mi zwraca wyniki z tab1 które mają coś przypisane w tab3. Ale jak napisać zapytanie które będzie mi zwracało wyniki z tab1 uzależnione od 2 wierzysz w tab3? Czyli wiersz z tab1 musi mieć przypisane w tab3 2 wartości np 2222 i 1111 w tym przypadku.Nie wiem czemu ale jakość screena się psuje gdy go tu wrzucam.

+1 głos
odpowiedź 15 sierpnia 2018 przez Ubermade Bywalec (2,020 p.)

Na pewno istnieje jakaś prostsza forma niż ta, którą podam, ale możesz wykonać dwa zapytania, czyli:

SELECT * FROM tab3

później zrobić fetcha dla rekordu number i wykonać takie zapytanie:

SELECT * FROM tab2 WHERE id = :number

 

Żeby zrobić to w jednym zapytaniu można użyć left join z tego, co kojarzę, ale jeszcze poszukam, jak to dokładnie działało :p

+1 głos
odpowiedź 15 sierpnia 2018 przez niezalogowany
Możesz dać wyraźniejszego skrina? Bo na tym nic nie widać, a najlepiej zapisz zawartości tabel, np. (tab1): ID -> numer 1 -> 2 2-> 3 3-> 4 Poza tym nie podoba mi się tab2. Gdy wybierzesz z niej numery 2 i 3 to dostaniesz nazwę albo "a" (dwa pierwsze rekordy) albo "b" (dwa ostatnie rekordy). Chyba, że nie dowidzę na tym skrinie.... I jeszcze jedno: wybierasz z tej tabeli jeden rekord (nazwa odpowiadająca numerowi) czy też nazwy odpowiadające łącznie dwóm rekordom? Spójnik "i" sugeruje to drugie rozwiązanie, ale wtedy będzie kłopot z numerami 2 i 4, bo 4 z pierwszą 2 da "a" (2->a, 4->a), ale z drugą 2 już nie da nic (4->a, 2->b).
0 głosów
odpowiedź 15 sierpnia 2018 przez fipooo Bywalec (2,880 p.)
Nie chcę tworzyć nowego tematu więc tutaj zadam pytanie. Jak utworzyć zapytanie które będzie się odnosić do 2 wierszy ale tej samej kolumnie. Coś jak rozmiar butów w sklepie chcemy wybrać pary te które mają rozmiar 44 i 45. Czyli mamy kolumnę "Rozmiar" i tam jakieś rozmiary przypisane do ID.BUTA i do ID.BUTA = 1 mamy przypisane tylko rozmiar 44 i 45 i chciałbym wyciągnąć ID.BUTA ale tylko te które mają rozmiar = 44 i 45. Jak to zrobić?
komentarz 24 sierpnia 2018 przez Catalonya1992 Mądrala (5,440 p.)
Napisz warunek where ID_BUTA IN (44, 45). Możesz też zrobić where (ID_BUTA = 44 or ID_BUTA = 45).

Podobne pytania

0 głosów
1 odpowiedź 200 wizyt
pytanie zadane 19 sierpnia 2017 w SQL, bazy danych przez Melchior Obywatel (1,300 p.)
+2 głosów
1 odpowiedź 284 wizyt
pytanie zadane 22 października 2021 w SQL, bazy danych przez p4wix Obywatel (1,040 p.)
0 głosów
0 odpowiedzi 578 wizyt

92,539 zapytań

141,382 odpowiedzi

319,481 komentarzy

61,928 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!

...