Autor | Zpráva | ||
---|---|---|---|
sprinter001 Profil |
Dobrý den,
potřeboval bych poradit, jak do MySQL dotazu, který uvádím níže dostat toto: Potřebuji, aby se zároveň prověřilo, zda neexistují produkty ve "stínové kategorii" tedy ještě existuje tabulka "N11_MOJE_STINKAT" a v té dva sloupce, a to "id_produkt" a "stinovka". Jak dotaz rozšířit o to, aby když se hodnota ve sloupci stinovka = 89 vypsali i informace o produktu dle čísla uvedeného v příslušném řádku id_produkt? (toto číslo produktu poté určitě existuje p.products_id...) SELECT mz.id_atribut, mz.hodnota, pd.products_name, p.products_image, p.products_quantity, p.products_id, p.products_type, p.master_categories_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, pd.products_description, IF(s.status = 1, s.specials_new_products_price, NULL) AS specials_new_products_price, IF(s.status = 1, s.specials_new_products_price, p.products_price) AS final_price, p.products_sort_order, p.product_is_call, p.product_is_always_free_shipping, p.products_qty_box_status FROM n11_moje_atributy2produkty mz, n11_products_description pd, n11_products p LEFT JOIN n11_manufacturers m ON p.manufacturers_id = m.manufacturers_id, n11_products_to_categories p2c LEFT JOIN n11_specials s ON p2c.products_id = s.products_id WHERE ( ( mz.id_atribut = '1' OR mz.id_atribut = '2' OR mz.id_atribut = '3' ) AND mz.id_produkt = pd.products_id ) AND p.products_status = 1 AND p.products_id = p2c.products_id AND pd.products_id = p2c.products_id AND pd.language_id = '1' AND p2c.categories_id = '89' ORDER BY mz.hodnota, p.products_sort_order, pd.products_name Mnohokrát děkuji za radu! |
||
Kajman Profil |
#2 · Zasláno: 20. 4. 2012, 08:50:53
Před where dáte
LEFT JOIN N11_MOJE_STINKAT st ON p2c.products_id=st.id_produkt AND p2c.categories_id=st.stinovka Poté si můžete např. vypsat sloupec stinovka a podle něho určovat, zda tam ta vazba je nebo ne. |
||
sprinter001 Profil |
#3 · Zasláno: 21. 4. 2012, 18:19:44
Kajman:
Mnohokrát děkuji! Velmi to pomohlo. Výskedný kó, který funguje vypadá ve výsledku takto: SELECT st.stinovka, mz.id_atribut, mz.hodnota, pd.products_name, p.products_image, p.products_quantity, p.products_id, p.products_type, p.master_categories_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, pd.products_description, IF(s.status = 1, s.specials_new_products_price, NULL) AS specials_new_products_price, IF(s.status = 1, s.specials_new_products_price, p.products_price) AS final_price, p.products_sort_order, p.product_is_call, p.product_is_always_free_shipping, p.products_qty_box_status FROM n11_moje_atributy2produkty mz, n11_products_description pd, n11_products p LEFT JOIN n11_manufacturers m ON p.manufacturers_id = m.manufacturers_id, n11_products_to_categories p2c LEFT JOIN n11_specials s ON p2c.products_id = s.products_id LEFT JOIN n11_moje_stinkat st ON p2c.products_id = st.id_produkt WHERE ( ( mz.id_atribut = '1' OR mz.id_atribut = '2' OR mz.id_atribut = '3' ) AND mz.id_produkt = pd.products_id ) AND p.products_status = 1 AND p.products_id = p2c.products_id AND pd.products_id = p2c.products_id AND pd.language_id = '1' AND ( p2c.categories_id = '89' OR st.stinovka = 'stin_kat_89' ) ORDER BY mz.hodnota, p.products_sort_order, pd.products_name |
||
Časová prodleva: 12 let
|
0