Autor | Zpráva | ||
---|---|---|---|
Baron_Prasil Profil * |
#1 · Zasláno: 14. 11. 2014, 21:44:58
Potřeboval bych propojit mySQL tabulky tak, abych získal výpis DEAL.
Znám hodnotu id z tabulky TAGS a potřebuji vypsat DEAL. Spojovat by se měla tedy: TAGS = id -> TAGS_SEARCH = id_tags -> DEAL = id DEAL: id, nazev, seo, kategorie, podkategorie TAGS: id, nazev, search, pocet_search, seo TAGS_SEARCH: id_sleva_id_tags |
||
lionel messi Profil |
SELECT t.id, t.nazev, t.search, t.pocet_search, t.seo, t.id_sleva, t.id_tags, d.id, d.nazev, d.seo, d.kategorie, d.podkategorie FROM (SELECT * FROM tags t1 JOIN tags_search ts ON t1.id = ts.id_tags) t JOIN deal d ON ts.id_tags = d.id Netestované, som len amatér, môže tam byť chyba, prípadne to možno ide napísať aj lepšie, ozvite sa, či funguje. |
||
Baron_Prasil Profil * |
#3 · Zasláno: 14. 11. 2014, 22:08:42
Pokud znám hodnotu id z tabulky TAGS ve stringu: $tags_id = "42"; ... kam se tento string bude hodit dát vložit?
|
||
lionel messi Profil |
SELECT t.id, t.nazev, t.search, t.pocet_search, t.seo, t.id_sleva, t.id_tags, d.id, d.nazev, d.seo, d.kategorie, d.podkategorie FROM (SELECT * FROM tags t1 JOIN tags_search ts ON t1.id = ts.id_tags WHERE t1.id = $tags_id) t JOIN deal d ON ts.id_tags = d.id skúste na vyznačené miesto a dajte vedieť. Baron_Prasil: „ve stringu: $tags_id = "42"“ Až na to, že ideálne by bolo, keby v premennej nebol string, ale číslo (detail). |
||
Baron_Prasil Profil * |
#5 · Zasláno: 14. 11. 2014, 22:27:08
MySQL error: Unknown column 'ts.id_tags' in 'on clause'
Přitom ts = tags_search ve kterém je řádek id_tags. Bude to chyba toho mySQL dotazu :( |
||
lionel messi Profil |
Baron_Prasil:
„Bude to chyba toho mySQL dotazu :(“ Upravený funkčný dotaz (testované): SELECT t.id, t.nazev, t.search, t.pocet_search, t.seo, t.id_sleva, t.id_tags, d.id, d.nazev, d.seo, d.kategorie, d.podkategorie FROM ( SELECT t1.id, t1.nazev, t1.seo, t1.search, t1.pocet_search, tags_search.id_tags, tags_search.id_sleva FROM tags t1 JOIN tags_search ON t1.id = id_tags WHERE t1.id = $tags_id ) t JOIN deal d ON id_tags = d.id Neviem prečo robil šarapatu alias tabuľky v ON, po odstránení ide. |
||
Tori Profil |
#7 · Zasláno: 14. 11. 2014, 23:13:59
„MySQL error: Unknown column 'ts.id_tags' in 'on clause'“
Zřejmě se nedá odkazovat na tabulku, která je uvnitř subselectu, ale jen na celý subselect. Asi s t.id_tags by dotaz ve [#4] prošel.
|
||
lionel messi Profil |
Tori:
„Asi s t.id_tags by dotaz ve [#4] prošel.“
Testol som to podľa vás (pretože ma to zaujíma) a správa sa to úplne rovnako s chybou. |
||
Baron_Prasil Profil * |
#9 · Zasláno: 14. 11. 2014, 23:26:41
A jak bude vypadat mySQL dotaz, pokud bych chtěl propojit jen dvě mySQL tabulky?
$id_tags = "15"; TAGS_SEARCH = id_sleva -> DEAL = id DEAL: id, nazev, seo, kategorie, podkategorie TAGS_SEARCH: id_sleva, id_tags |
||
lionel messi Profil |
Baron_Prasil:
„A jak bude vypadat mySQL dotaz, pokud bych chtěl propojit jen dvě mySQL tabulky?“ SELECT t.id_sleva, t.id_tags, d.id, d.nazev, d.seo, d.kategorie, d.podkategorie FROM tags_search t JOIN deal d ON t.id_sleva = d.id WHERE ts.id_tags = $id_tags |
||
Tori Profil |
lionel messi:
Mně tohle prošlo: SELECT t.id, t.nazev, t.search, t.pocet_search, t.seo, t.id_sleva, t.id_tags, d.id, d.nazev, d.seo, d.kategorie, d.podkategorie FROM (SELECT * FROM tags t1 JOIN tags_search ts ON t1.id = ts.id_tags WHERE t1.id = 5) t JOIN deal d ON t.id_tags = d.id (s prázdnými tabulkami)
|
||
lionel messi Profil |
#12 · Zasláno: 15. 11. 2014, 10:31:00
Tori:
„Mně tohle prošlo“ Aj mne, ďakujem, zase som sa niečo nové dozvedel, domnieval som sa, že chyba je vnútri poddotazu. |
||
Časová prodleva: 9 let
|
0