Autor | Zpráva | ||
---|---|---|---|
Jakuje Profil |
#1 · Zasláno: 31. 8. 2007, 19:34:14
Chtěl bych pomocí JOINu vybrat ze dvou tabulek data, přičemž první obsahuje dva odkazy na tu druhou. Asi je to dost nepochopitelné, tak vysvětlím příkladem.
-> table t1 id jmeno -> table t2 id from to a dotaz by teoreticky měl vypadat nějak takto, ale logicky z něho potom ty data nedostanu. Rozhodně ne všechna. SEELCT * FROM t2 LEFT JOIN t1 ON t2.from = t1.id RIGHT JOIN t1 ON t2.to = t1.from WHERE ... Dotaz se možná provede, ale určitě nedostanu data co potřebuji i z tabulky t2 pro hodnotu from a to. Dá se to udělat nějak elegantně, enbo si musím udělat druhý select? |
||
Casero Profil |
#2 · Zasláno: 31. 8. 2007, 19:44:41 · Upravil/a: Casero
Jakuje
SELECT sloupce FROM t1 JOIN t2 ON t2.to = t1.id JOIN t2 as t3 ON t3.from= t1.id WHEREa úpak přistupuj ke sloupcům přes t3.from a t2.to |
||
Jakuje Profil |
#3 · Zasláno: 31. 8. 2007, 19:46:40 · Upravil/a: Jakuje
... t3.from a t2.to
Ale já tam žádnou t3 nemám ... Sorry. Já si až teď přečetl SQL dotaz. Zkusím to dík. |
||
Jakuje Profil |
#4 · Zasláno: 31. 8. 2007, 19:56:49 · Upravil/a: Jakuje
EE. Nejede ...
xx Díky. Už to funguje (aspoň to nepíše žádnou chybu). Ještě tam nakonec bylo problémy se jmény sloupců (prostě to nezkouslo jméno FROM). Jinak jede bezvadně. Díky. |
||
Jakuje Profil |
#5 · Zasláno: 31. 8. 2007, 20:29:12 · Upravil/a: Jakuje
No tak to nejede. Už jsem si to dal do svého kódu. Můžeš se na to podívat? Mě to normálně nevypíše nic, ale ani chybu a když SQL dotaz dám do phpMyAdmina, tak to háže chyby.
[pre]deleted/pre] #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'deleted Pomůže ještě někdo? |
||
Casero Profil |
#6 · Zasláno: 31. 8. 2007, 20:50:07
Jakuje
Myslím, že pleteš ty sloupce ne? Jinak asi to má problém s názvem sloupce "to". |
||
Jakuje Profil |
#7 · Zasláno: 31. 8. 2007, 21:01:15
Už jsem chybu našel. Přesně. Popletl jsem sloupce. Ale trvalo mě to dlouho než jsem na to přišel.
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0