Прошло некоторое время с тех пор, как я сделал какой-либо SQL-запрос, и в настоящее время я пытаюсь ЛЕВО присоединить некоторые таблицы к моему старому запросу JOIN, чтобы иметь возможность получить определенные данные.
Однако я получаю «Неизвестный столбец« a.shop_id 'i on clause », и я не уверен, почему« a.shop_id »неизвестен.
SELECT
e.campaign_desc,
e.campaign_type_id,
e.shop_id AS campaign_shop_id,
a.*,
b.*,
a.id AS shop_item_id,
c.cat_id AS category_id
FROM
`shop_item` a,
`shop` b,
`product` c
LEFT JOIN
`campaign_category` d ON
d.category_id = c.cat_id
LEFT JOIN
`campaign` e ON
e.`id` = d.`campaign_id`
AND e.`shop_id` = a.`shop_id`
WHERE
a.`product_id` = 23 AND
b.`id` = a.`shop_id` AND
b.`active_shop` = 1 AND
a.`product_id`= c.`id`
ORDER BY
a.`item_price` DESC,
a.`shop_id`
Итак, у меня былочтобы попробовать что-то другое, поэтому у меня была другая идея запроса для проверки, и она работает нормально.Но, конечно, это не то, что мне нужно, так как мне нужно несколько столбцов данных.
SELECT
a.*,
a.shop_id,
b.*,
a.id AS shop_item_id,
c.cat_id AS category_id,
(SELECT t2.campaign_desc
FROM
campaign_category t1, campaign t2
WHERE
t1.category_id = c.cat_id AND
t2.id = t1.campaign_id AND
t2.shop_id = a.`shop_id`
)AS Campaigndata
FROM
`shop_item` a,
`shop` b,
`product` c
WHERE
a.`product_id` = 23 AND
b.`id` = a.`shop_id` AND
b.`active_shop` = 1 AND
a.`product_id`= c.`id`
ORDER BY
a.`item_price` DESC,
a.`shop_id`
Чего мне не хватает в первом запросе?Помощь будет высоко ценится.
С наилучшими пожеланиями