首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用In语句的第一个元素的结果

使用In语句的第一个元素的结果
EN

Stack Overflow用户
提问于 2014-10-23 13:23:23
回答 1查看 32关注 0票数 0

我有三张桌子

代码语言:javascript
复制
td_product

|--------------|------------------------------------------------------------|
| product_id   |   product_title  |     compatible_model  |                 |
|---------------------------------------------------------------------------|
|      1       |     prod-1       |       1,4,5,6,8       |                 |
|---------------------------------------------------------------------------|
|      2       |     prod-2       |       1,5,6           |                 |
|---------------------------------------------------------------------------|
|      3       |     prod-3       |       4,6             |                 |
|---------------------------------------------------------------------------|

我有

td_model

代码语言:javascript
复制
|--------------|----------------------------------------------------|
|   model_id   |   model_title    |     brand_id  |    model_slug   |
|-------------------------------------------------------------------|
|      1       |     mode-1       |       1       |    1-mode-1     |
|-------------------------------------------------------------------|
|      2       |     mode-2       |       2       |    2-mode-2     |
|-------------------------------------------------------------------|
|      3       |     mode-3       |       4       |    3-mode-3     |
|-------------------------------------------------------------------|
|      4       |     mode-4       |       4       |    4-mode-4     |
|-------------------------------------------------------------------|
|      5       |     mode-5       |       2       |    5-mode-5     |
|-------------------------------------------------------------------|
|      6       |     mode-6       |       4       |    6-mode-6     |
|-------------------------------------------------------------------|
|      7       |     mode-7       |       1       |    7-mode-7     |
|-------------------------------------------------------------------|
|      8       |     mode-8       |       2       |    8-mode-8     |
|-------------------------------------------------------------------|

最后是品牌

代码语言:javascript
复制
|--------------|------------------------------------------------------------|
|   brand_id   |   brand_title    |                                         |
|---------------------------------------------------------------------------|
|      1       |     brnd-1       |                                         |
|---------------------------------------------------------------------------|
|      2       |     brnd-2       |                                         |
|---------------------------------------------------------------------------|
|      3       |     brnd-3       |                                         |
|---------------------------------------------------------------------------|
|      4       |     brnd-3       |                                         |
|---------------------------------------------------------------------------|
|      5       |     brnd-3       |                                         |
|---------------------------------------------------------------------------|
|      6       |     prod-3       |                                         |
|---------------------------------------------------------------------------|

现在我有了一个这样运行的查询

代码语言:javascript
复制
SELECT * FROM td_product,td_model,td_brand
WHERE
td_product.product_id > 0
AND td_model.model_id IN (td_product.compatible_model)
AND td_model.brand_id = td_brand.brand_id
AND td_model.model_slug = '1-mode-1'

显示prod-1prod-2

但是这个查询返回空值。

代码语言:javascript
复制
SELECT * FROM td_product,td_model,td_brand
WHERE
td_product.product_id > 0
AND td_model.model_id IN (td_product.compatible_model)
AND td_model.brand_id = td_brand.brand_id
AND td_model.model_slug = '5-mode-5'

我做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-23 13:58:51

不要使用IN,而是使用FIND_IN_SET(...);change:

代码语言:javascript
复制
AND td_model.model_id IN (td_product.compatible_model)

至:

代码语言:javascript
复制
AND FIND_IN_SET(td_model.model_id, td_product.compatible_model) > 0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26529113

复制
相关文章

相似问题

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