![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 6.12.2007 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Postaram się wyjaśnić jak najlepiej potrafię.
z tego wszystkiego potrzebuję uzyskać linijkę którą niestety nie wiem jak wyciągnąć (z użyciem tablic w PHP już to zrobiłem tyle, że jest to mało wydajny sposób a wolałbym użyć sql i uzyskać całość jednym zapytaniem choćby dość skomplikowanym).
Ma ktoś pomysł na to bo siedze od rana i nic wymyśleć nie mogę. |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Czyli co chcesz zrobic? Majać ID chcesz pobrać nazwę z innej tabeli?
No to zwykły LEFT JOIN - w manualu masz przykłady na to |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 6.12.2007 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
No właśnie nie zwykłe LEFT JOIN
w jednej i tej samej tabeli mam i pracownika i pracodawce pracodawca ma id 30 a pracownik 32 i 33 z 2 innych tabel pobieram resztę danych pracownika a do wiersza dołączam nazwę pracodawcy. zatem najpierw łączymy pracowników z pozostałymi danymi z 2 innych tabel a na koniec z pierwszej tabeli dobieramy jeszcze nazwe pracodawcy ze zwykłego left join dostaję coś takiego Kod lp pracodawca id imie_nazwisko email gid 1 30 32 Agnieszka Fikcyjna afikcyjna@onet.pl 14 a chciałbym Kod lp pracodawca id imie_nazwisko email gid 1 Spółka fikcyjna z o.o. 32 Agnieszka Fikcyjna afikcyjna@onet.pl 14 Możesz porównać to z tabelami z góry. Z góry dziekuję za pomoc bo już mi pomysłów brak. |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to nadal LEFT JOIN. Nadal zwykły LEFT JOIN
Jeden LEFT JOIN na pracodawce, a drugi LEFT JOIN na pracownika. W zapytaniu można dać i milion razy LEFT JOIN |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 6.12.2007 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
tu otrzymuję fajny wynik ale juz wyciągnąć nazwę pracodawcy z tego jest mi ciężko bo dostaję bzdury (czyli ten pierwszy z liczbami zamiast nazwy) |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nigdzie tu nie widzę left join na pracodawcę.
Powód edycji: [nospor]:
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 6.12.2007 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
i słusznie bo nie ma gdyż ciężko jest połączyć u.id z u.id bo tak by to musiało być z left join
sys_users zawiera nazwisko pracownika i nazwę pracodawcy rozróżniam ich po gid i id gid mówi, że to pacodawca (gid 15) a id np 30 mówi nam jaka jest nazwa pracodawcy u.id = 30 to pracodawca u.id = 32 to pracownik są w tej samej tabeli! Ten post edytował seeb 21.02.2012, 14:48:27 |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 6.12.2007 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
poeksperymentuję ale już widzę, że SELECT * musi wylecieć (IMG:style_emoticons/default/smile.gif)
Mam cały zestaw zdublowanych danych. |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tak, logiczne ze dla * będą duplikaty. Musisz używać aliasów a dane które się duplikują wypisać osobiście i dodać dla nich alias
edit: i nie duplikaty a będą nadpisywane kolumny |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 00:52 |