![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 6.09.2012 Ostrzeżenie: (0%)
|
Jakoś na forum presy nie mogę się doprosić a z MySQL to raczej leżę. Czy ktoś by mi pomógł i poprawił składnię pytania MySQL. Pytanie jest z bazy danych Prestashop.
SELECT distinct ps_product_lang.name as name, meta_title, meta_description, meta_keywords, description_short, ps_category_lang.name as category, FROM ps_product_lang, ps_category_lang, ps_product WHERE ps_product_lang.id_lang = 6 AND ps_product_lang.id_product = 21630 AND ps_product_lang.id_product = ps_product.id_product AND ps_category_lang.id_category = ps_product.id_category_default LIMIT 1 Jak będę miał pierwowzór będę w stanie wykorzesać z tego kod dla samej Presty. Dziękuje wszystkim za pomoc. |
|
|
|
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Poprawić składnię? Tzn?
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%)
|
Wywal przecinek przed FROM
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 6.09.2012 Ostrzeżenie: (0%)
|
Dostaje takie komunikat w phpMyAdmin:
#1052 - Column 'meta_title' in field list is ambiguous SELECT DISTINCT ps_product_lang.name AS name, meta_title, meta_description, meta_keywords, description_short, ps_category_lang.name AS category FROM ps_product_lang, ps_category_lang, ps_product WHERE ps_product_lang.id_lang =6 AND ps_product_lang.id_product =21630 AND ps_product_lang.id_product = ps_product.id_product AND ps_category_lang.id_category = ps_product.id_category_default LIMIT 1 wywalenie przecinka nie rozwiązuje problemu. W oryginale zapytanie wyglądało tak: SELECT distinct '._DB_PREFIX_.'product_lang.name as name, meta_title, meta_description, meta_keywords, description_short, '._DB_PREFIX_.'manufacturer.name as manufacturer FROM '._DB_PREFIX_.'product_lang, '._DB_PREFIX_.'manufacturer, '._DB_PREFIX_.'product WHERE '._DB_PREFIX_.'product_lang.id_lang = '.intval($id_lang).' AND '._DB_PREFIX_.'product_lang.id_product = '.intval($id_product).' AND '._DB_PREFIX_.'product_lang.id_product='._DB_PREFIX_.'product.id_product AND '._DB_PREFIX_.'manufacturer.id_manufacturer='._DB_PREFIX_.'product.id_manufacturer'); tam gdzie _DB_PREFIX_ to powinno być ps_ To pytanie działało prawidłowo zmieniłem tylko tabele z której ma wyciągać dane. Podejrzewam że problem jest w tym że tabela _DB_PREFIX_.'manufacturer (ps_manufacturer) nie posiadała zdublowanych rekordów a w tabeli którą wstawiłem takie rekordy właśnie występują. |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 49 Dołączył: 3.07.2009 Skąd: Rzeszów Ostrzeżenie: (0%)
|
#1052 - Column 'meta_title' in field list is ambiguous
Oznacza, że kolumny o nazwie meta_title istnieją w dwóch tabelach i serwer nie wie, o którą chodzi. Musisz podać nazwę tabeli i pole czyli np ps_product.meta_title w miejsce meta_title Ten post edytował bpskiba 7.09.2012, 07:04:43 |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 6.09.2012 Ostrzeżenie: (0%)
|
Wielkie dzięki działa tak jak należy.
|
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 17:01 |