2015-08-26 5 views
0

Я хочу сделать следующее:данные Fetching MySQL, проходящий через несколько таблиц

Выбрать все от product что соответствует значению type_id из обоего таблиц product и system_type. Затем с те совпадающие результаты, матч cat_id с обеих столов system_type и system_cat, а затем уточните окончательный результат где cat_type = 0 из таблицы system_cat.

Текущий SQL, кажется, есть ошибка синтаксиса:

SELECT * FROM product 
JOIN system_type 
    USING (type_id) 
JOIN system_cat 
    USING (cat_id) 
WHERE cat_type = 0 

Что еще я пробовал:

SELECT * FROM product 
JOIN system_type 
    USING system_type.type_id = product.type_id 
JOIN system_cat 
    USING system_type.cat_id = system_cat.cat_id 
WHERE system_cat.cat_type = 0 
+0

Вы используете MySQL или SQL Server здесь? (Два разных продукта.) – jarlh

+0

@jarlh MySQL, я запускаю все это через PhpMyAdmin – Rahul

+2

ИСПОЛЬЗОВАНИЕ (type_id) ... или ON system_type.type_id = product.type_id – jarlh

ответ

0

Попробуйте это. Вам может понадобиться явно впечатать столбцы нужно

SELECT * FROM product as pr 
INNER JOIN system_type as st 
    ON st.type_id = pr_id 
INNER JOIN system_cat as sc 
    ONH st.cat_id = sc.cat_id 
WHERE sc.cat_type = 0 
0

Синтаксис изменяется при использовании table_name.column метода. Использовать ON, а не USING.

SELECT * FROM product 
JOIN system_type 
    ON system_type.type_id = product.type_id 
JOIN system_cat 
    ON system_type.cat_id = system_cat.cat_id 
WHERE system_cat.cat_type = 0 
Смежные вопросы