Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> pytanie MySQL
pavoo
post
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.
Go to the top of the page
+Quote Post
erix
post
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?
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #3





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


Wywal przecinek przed FROM
Go to the top of the page
+Quote Post
pavoo
post
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ą.
Go to the top of the page
+Quote Post
bpskiba
post
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
Go to the top of the page
+Quote Post
pavoo
post
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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.12.2025 - 17:01