Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

using v mysql dotazu

pojistovak
verified
rating uzivatele
(3 hodnocení)
21. 5. 2010 14:06:26
Ahoj, mám sql dotaz:
select p.products_image, pd.products_name, pd.products_seo_url, p.products_availability_id, pd.products_info, p.products_model, p.other_price, p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from (products p, products_description pd, manufacturers m, products_to_categories p2c) left join specials_retail_prices s using(products_id) where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '11' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '1' and p2c.categories_id = '107' order by p.products_sort_order asc
Hází mi to chybu 1052 - Column 'products_id' in from clause is ambiguous
Problém mám v tom, že vůbec nevím, co znamená tato část v dotazu using(products_id)
Na webu se mi to nepodařilo dohledat.
Vysvětlíte mi to někdo prosím?.-) Díky moc za každé nakopnutí.
21. 5. 2010 14:06:26
https://webtrh.cz/diskuse/using-v-mysql-dotazu/#reply507106
duben
verified
rating uzivatele
(50 hodnocení)
21. 5. 2010 14:29:56
Problém je ten, že ve více tabulkách se vyskytuje 'products_id' a ty nespecifikuješ z které tabulky ho chceš při JOIN použít.
btw. kdybys to nepsal takhle prasácky, líp by se v tom orientovalo.
FROM clausule se dá zapsat různě, buď TABULKA1 JOIN TABULKA2 ON TABULKA1.SLOUPEC_X = TABULKA2.SLOUPEC_Z
nebo taky
TABULKA1 JOIN TABULKA2 using(SLOUPEC)
- v tomhle případě je to to samé jako napsat
TABULKA1 JOIN TABULKA2 ON TABULKA1.SLOUPEC = TABULKA2.SLOUPEC
Jen musí být v obou tabulkách oba sloupce. Jenže ty místo TABULKA1 máš tuhle prasárnu
(products p, products_description pd, manufacturers m, products_to_categories p2c)
což udělá to samé jako SELECT * FROM products p, products_description pd, manufacturers m, products_to_categories p2c
Protože ale není products_id jen v jediné z těhle tabulek ale ve více z nich, není jasné který sloupec z které tabulky použít pro propojení při
left join specials_retail_prices s using(products_id)
21. 5. 2010 14:29:56
https://webtrh.cz/diskuse/using-v-mysql-dotazu/#reply507105
pojistovak
verified
rating uzivatele
(3 hodnocení)
21. 5. 2010 23:55:23
No prasácky.-) To je právě to, že to je jedna z částí na kterou jsem ještě nešáhl.-)
Zkusím to jak píšeš, snad si s tím poradím, díky prozatím.
21. 5. 2010 23:55:23
https://webtrh.cz/diskuse/using-v-mysql-dotazu/#reply507104
Pro odpověď se přihlašte.
Přihlásit