首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加到长而复杂的查询

添加到长而复杂的查询
EN

Stack Overflow用户
提问于 2011-10-05 23:06:03
回答 5查看 41关注 0票数 0

我有一个问题

代码语言:javascript
复制
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中我一直收到一个错误,说我有一个错误接近**

代码语言:javascript
复制
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

**

我是不是漏掉了什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-10-05 23:08:51

您希望将WHERE条件中的AND或or (以合适的为准)放在一起。

代码语言:javascript
复制
...
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
...
票数 3
EN

Stack Overflow用户

发布于 2011-10-05 23:10:01

您有一个额外的逗号

代码语言:javascript
复制
WHERE card_lookup_values.lookup_id = 7,lookup_details.lookup_id= 40

应该是

代码语言:javascript
复制
WHERE card_lookup_values.lookup_id = 7 AND lookup_details.lookup_id= 40
票数 1
EN

Stack Overflow用户

发布于 2011-10-05 23:09:01

正确的SQL语法在WHERE子句中使用AND关键字。

代码语言:javascript
复制
WHERE blahblah = blah AND trala = la
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7663469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档