首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >mysql查询3个表?

mysql查询3个表?
EN

Stack Overflow用户
提问于 2018-08-02 01:44:51
回答 1查看 0关注 0票数 0

我有3张表如下:

代码语言:txt
复制
table "first"       
---------------
id     item
1      pen
2      book

table "second"
------------------
id     color
1       A
2       B
3       C

table "third"
------------------------
id     first      second
1      1            2
2      2            2
3      2            3

表“第三”与“第二”和“第一”之间的关系

我想从“First”表中查询ID=2的“Item”图书,在“Third”表中检查它,然后得到第三列值。第二列值与第三列=2匹配,然后拉出该值(可以是多个),然后从表“Second”中获得第二个颜色值。

我希望我的问题已经说得很清楚了。我已经试过了,但它带来了错误:

#1242-子查询返回多于1行

代码语言:txt
复制
SELECT color FROM `second` WHERE `id`=
(SELECT second FROM `third` WHERE `first`=
(SELECT id FROM `first` WHERE `item`='book'))
EN

回答 1

Stack Overflow用户

发布于 2018-08-02 11:32:11

你需要JOIN语法,如下所示:

代码语言:txt
复制
SELECT 
  second.color 
FROM 
  first 
    LEFT JOIN third 
      ON first.ID=third.first 
    LEFT JOIN second 
      ON third.second=second.ID 
WHERE 
  first.item='book'
  AND
  second.ID IS NOT NULL
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008738

复制
相关文章

相似问题

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