2015-07-30 4 views
0

Любые идеи, почему этот запрос возвращает только одну строку?MySQL Query Only Return One Row

SELECT c.category_id, c.parent_id, cd.name, cd.description 
FROM mydb_category c 
LEFT JOIN mydb_category_description cd 
ON (c.category_id = cd.category_id) 
WHERE c.category_id IN ('46,59') 
AND c.status  = '1' 
AND cd.language_id = '1' 

language_id является правильным, status является правильным, но по какой-то причине я только получаю строку с category_id 46 вернулся.

+2

Попробуйте 'WHERE c.category_id IN (46,59)' без котировок – RiggsFolly

+0

Отлично, спасибо. Может ли кто-нибудь из вас объяснить, почему цитаты не позволяют продолжить запрос? –

+1

Вы создаете строку ''46, 59'', которую запрос пытается совместить как один из условий IN. –

ответ

0

Удалить котировки в IN('46,49') так ваш запрос выглядит следующим образом:

SELECT 
    c.category_id, c.parent_id, cd.name, cd.description 
FROM 
    mydb_category c 
     LEFT JOIN 
    mydb_category_description cd ON (c.category_id = cd.category_id) 
WHERE 
    c.category_id IN (46,59) 
     AND c.status = '1' 
     AND cd.language_id = '1' 

С.Е. documentation для получения дополнительной информации. Удачи!