Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> JOIN 3 Tabel
slk500
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 21.11.2015

Ostrzeżenie: (0%)
-----


Próbuje połączyć 3 tabele. Potrafię to zrobić w taki sposób że otrzymuję dane tylko "udanych połączeń" że dany serial.title_pl = video.title_pl.

SELECT serial.title_pl, video.title_pl
FROM serial, video, serial_video
WHERE serial.serial_id = serial_video.serial_id
AND serial_video.video_id = video.video_id

Chciałbym aby wypisał wszystkie title_pl nawet te do któryh nie jest przypisane serial.title_pl czyli z wartościami NULL.

Dziękuje za pomoc bo głowię się nad tym już od wczoraj :/
Go to the top of the page
+Quote Post
kapslokk
post
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


(IMG:http://www.codeproject.com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_orig.jpg)
Go to the top of the page
+Quote Post
slk500
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 21.11.2015

Ostrzeżenie: (0%)
-----


Tak widziałem ten diagram, ale on dotyczy dwóch tabel. I nie bardzo mogę przekształcić to na 3 tabele :/

A dobra mam :

SELECT serial.title_pl, video.title_pl
FROM video LEFT OUTER JOIN serial_video ON serial_video.video_id = video.video_id
LEFT OUTER JOIN serial
ON serial.serial_id = serial_video.serial_id

nie sądziłem, że można dwa razy LEFT OUTER JOIN

Ale jednak potrzebuję dalszych modyfikacji :/ Bo otrzymuje taki wynik:

W dwóch kolumnach:

The Cyanide & Happiness Show A Day At The Beach
NULL Amator
Sonic Do Wynajęcia Angry Birds

I ciężko mi teraz to posegregować. Bo mogę posegregować według tytułu odcinka/filmu albo wg. tytułu serialu. A czy można tak zrobić aby dodał tytuł serialu do tytułu odcinka?
Go to the top of the page
+Quote Post
kapslokk
post
Post #4





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


concat() łączy wartości.
Poza tym sortować też możesz po kilku kolumnach.

Ten post edytował kapslokk 22.01.2016, 15:57:44
Go to the top of the page
+Quote Post
slk500
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 21.11.2015

Ostrzeżenie: (0%)
-----


No tak. Dzięki. Mam już całość (IMG:style_emoticons/default/biggrin.gif)

SELECT CONCAT_WS(': ',serial.title_pl,video.title_pl)
FROM video LEFT OUTER JOIN serial_video ON serial_video.video_id = video.video_id
LEFT OUTER JOIN serial
ON serial.serial_id = serial_video.serial_id
ORDER BY CONCAT_WS(': ',serial.title_pl,video.title_pl)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 19:21