Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%)
|
Witam mam opcję pobierania danych z dwóch tabel:
Chciałbym dodać jeszcze jedną tabele (pb_workers), której wartość np g.pr_id = p.cid czyli dla tabeli celldep. Próbowałem to zrobić na zasadzie następnego left join, niestety nazwy z tabeli celldep wywalało mi tyle razi ile było przypisanych do niej rekordów z tabeli workers. Czy można połączyć 3 tabele? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%)
|
U mnie dziala, i co mi zrobisz.
Pokaz dane, ile powiazanych rekordow ma kazdy z rekordow w drugiej tabeli, i pokaz co chcesz uzyskac. PS. [OT] nazywal bys tabele/kolumny/aliasy bardziej czytelnie, konsekwentnie np. masz depart zaliasowane do c a celldep do p nie prosciej depart => d, celldep => c ? ja musialem sobie twoje zapytanie przepisac zeby co chwile nie sprawdzac co jest pod ktorym aliasem. w kazdej tabeli dajesz id jako klucz glowny, klucze obce nazywasz po prostu depart_id, celldep_id Ja to stosuje od dawna i |
|
|
|
Post
#3
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
w kazdej tabeli dajesz id jako klucz glowny, klucze obce nazywasz po prostu depart_id, celldep_id Chyba najlepszy sposób. Klucz główny to u mnie zawsze pole id, a klucze obce to [nazwa_tabeli]_id. Dzięki temu mogę pisać zapytania "w ciemno" znajac tylko nazwy tabel i relacje między nimi. A do problemu: możliwe, że sęk w tym, że masz zdublowane aliasy dla tabel. Już olać to, że są ponazywane zupełnie z kosmosu ale powtarzają się: - pb_celldep p - pb_workers p Poza tym nie wiem co siedzi pod "$csql $dssql". Może tam jest błąd? Pokaż wygenerowane zapytanie, a nie to jak je tworzysz. Wklej wynik echo $sqldep i po sprawie. PS: szkoda, że piszesz "nie działa poprawnie" zamiast wkleić błąd jaki otrzymujesz. Nie wiem jak przy dublowaniu aliasów ale tutaj "p.cid = g.pr_idc" na pewno otrzymujesz błąd (skąd się wzięło g?). Ten post edytował phpion 23.04.2009, 08:37:38 |
|
|
|
potreb [PHP][MYSQL] Złożone zapytanie SQL 22.04.2009, 15:07:33
dr_bonzo No to dobrze ci zrobilo, dla kazdego workers dodaj... 22.04.2009, 15:28:37
porady-it.pl Łączyć możesz dowolną ilość tabel dodając kolejne ... 22.04.2009, 16:08:21
potreb No okez prosty opis. Mam 3 tabele
depart
did - id... 22.04.2009, 18:44:19
phpion No to trzaśnij zapytanie z dwoma JOINami łącząc ta... 22.04.2009, 18:46:41
potreb Zrobiłem takie zapytanie wcześniej, ale i tak nie ... 22.04.2009, 20:11:35
porady-it.pl Twoje zapytanie prawdopodobnie działa prawidłowo j... 23.04.2009, 08:37:38
potreb Dzięki za podpowiedzi. Zrobiłem tak aby było wszys... 23.04.2009, 09:41:19
porady-it.pl Zobacz w phpMyAdmin jaką listę rekordów zwróci zap... 23.04.2009, 10:44:33
potreb Na pewno ze skryptem tworzącym tablicę bo jak wyśw... 23.04.2009, 12:08:10
nospor [PHP] pobierz, plaintext <?phpif (!empty... 23.04.2009, 12:13:52
potreb Oj próbowałem i dalej próbuje. Jak nadpisuje dane?... 23.04.2009, 12:25:45
nospor CytatRobię tym samym sposobem co w tutorialu.no wl... 23.04.2009, 12:30:20
potreb Dobijasz mnie 23.04.2009, 12:58:46
nospor pozytywnie czy negatywnie?
znaczy dziala czy nie? 23.04.2009, 12:59:48
potreb Oczywiście że działa Dzięki wielkie. 23.04.2009, 13:55:49
nospor Pisales ze robiles wg. mojego tutka a ja napisalem... 23.04.2009, 15:03:45 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 06:23 |