我有
的查询Select
cards.card_id,
cards.item_name,
cards.meta_description,
cards.description,
'' as Weight,
'' as UPC,
'' as Part,
cards.seo_keywords,
concat('',cards.card_id,'_shadow.png') AS ImageURL,
lookup_details.value,
concat('ARTIST - ', card_import.artist) AS Brand,
replace(lower(concat( 'http://www.test.com/', pcat.seoname,'/',cat.seoname, '/', cards.seoname, '.htm' )),' ','+') AS link,
concat(pcat.name,' > ',cat.name) as Merchant,
round(min(card_lookup_values.card_price), 2) AS 'price',
min(cast(lookup_details.value as signed)) as 'quantity'
FROM
cards
left join card_import on card_import.card_id = cards.card_id
join card_lookup_values on card_lookup_values.card_id = cards.card_id
INNER JOIN card_categories cc ON cards.card_id = cc.card_id AND cards.card_live = 'y' AND cards.active = 'y' AND cc.active = 'Y'
INNER JOIN categories cat ON cat.category_id = cc.category_id AND cat.active = 'Y'
INNER JOIN categories pcat ON cat.parent_category_id = pcat.category_id
INNER JOIN card_lookup_values as card_values ON cards.card_id = card_values.card_id
INNER JOIN lookup_details ON card_lookup_values.lookup_detail_id = lookup_details.lookup_detail_id
WHERE card_lookup_values.lookup_id = 7,lookup_details.lookup_id= 40
GROUP BY
cards.card_id
ORDER BY
cards.card_id
我认为我已将所有设置都设置正确,但我在Navicat中遇到错误,说我在**附近有错误
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'lookup_details.lookup_id= 40
GROUP BY
cards.card_id
ORDER BY
cards.card_' at line 28
**
我错过了什么?
答案 0 :(得分:3)
你想和你的WHERE条件一起使用AND或OR(取决于哪个)。
...
WHERE card_lookup_values.lookup_id = 7 AND lookup_details.lookup_id= 40
...
...
WHERE card_lookup_values.lookup_id = 7 OR lookup_details.lookup_id= 40
...
答案 1 :(得分:1)
你有一个额外的逗号
WHERE card_lookup_values.lookup_id = 7,lookup_details.lookup_id= 40
应该是
WHERE card_lookup_values.lookup_id = 7 AND lookup_details.lookup_id= 40
答案 2 :(得分:0)
正确的SQL语法在AND
子句中使用WHERE
关键字。
WHERE blahblah = blah AND trala = la
答案 3 :(得分:0)
WHERE card_lookup_values.lookup_id = 7,lookup_details.lookup_id= 40
应该是
WHERE card_lookup_values.lookup_id = 7 AND lookup_details.lookup_id= 40
最后也不要忘记分号!
答案 4 :(得分:0)
更改此行
WHERE card_lookup_values.lookup_id = 7,lookup_details.lookup_id= 40
到这个
WHERE card_lookup_values.lookup_id = 7 and lookup_details.lookup_id= 40