首页
学习
活动
专区
圈层
工具
发布

MySQL三联
EN

Stack Overflow用户
提问于 2012-08-31 21:11:52
回答 3查看 72.1K关注 0票数 22

我很难构建三元连接查询。

我有三张桌子:

House:

代码语言:javascript
复制
house ID(key) | Address | personID |

人:

代码语言:javascript
复制
personID (key) | Name | Address | 

图片: // of house

代码语言:javascript
复制
imageID (key) | personID | url | 

我想把结果限制在5上。

我想查询房屋地址-es (main),它的所有者名称和地址,以及所有者的一张照片。

注意:每个人最多有3张图片(在图像表中有3行),但只有一张是必需的,这并不重要。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-31 21:32:01

代码语言:javascript
复制
SELECT h.Address, p.Name, p.Address as OwnerAddress, i.url FROM house AS h
INNER JOIN person AS p ON p.personID = h.personID
INNER JOIN images AS i ON i.personID = p.personID
GROUP BY h.houseID

应该为你工作。

票数 46
EN

Stack Overflow用户

发布于 2013-03-01 19:47:28

也许你最好使用左边的外部连接,比如

代码语言:javascript
复制
SELECT
   h.Address  as `h_address`,
   p.Name     as `p_name`,
   p.Address  as `p_address`,
   i.url      as `i_url`
FROM house AS `h`
   LEFT OUTER JOIN person AS `p` ON (p.personID = h.personID)
   LEFT OUTER JOIN images AS `i` ON (p.personID = i.personID)
GROUP BY h.houseID

它还将显示没有注册图像的房屋。

票数 4
EN

Stack Overflow用户

发布于 2017-01-04 08:54:57

连接三张表

即:

代码语言:javascript
复制
select i_f.*, i_f_d.* , i_f_c.creator_name 
  from indent_form i_f 
  join indent_form_details i_f_d on i_f.id=i_f_d.ind_id 
  join indent_form_creator i_f_c on i_f.user_id=i_f_c.id

indent_form table 1,
indent_form_details table 2,
indent_form_creator table 3,
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12222525

复制
相关文章

相似问题

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