【问题标题】:left outer join in 3 tables3个表中的左外连接
【发布时间】:2012-07-14 21:04:17
【问题描述】:

我有 3 张桌子
车间和所有者
shop 是父表,其他 2 个是子表

SHOP    
s_id, floor_id,s_owner,s_remarks
1,2,1,big shop   
2,2,3,near bank   
3,1,2,corner   
4,7,7,FAKE FLOOR AND OWNER   

OWNERS   
o_id, o_name, contact
1,gale,009659999999   
2,smith,00447676767   
3,pathan,0088787878   

FLOORS   
f_id, f_name
1,FIRST FLOOR   
2,SECOND FLOOR  
3,THIRD FLOOR   


select shop.s_id, floors.f_name, owners.o_id, s_remarks  
from ? join ? 

显示店铺的所有记录,即使业主或楼层没有相关记录

【问题讨论】:

  • 这是作业吗?你知道它需要一个左连接,你有语法问题吗?
  • 你只需要两个“LEFT JOIN (table) ON (condition)”子句

标签: mysql join left-join outer-join


【解决方案1】:

正如您在标题中所建议的,您需要使用LEFT JOIN。这应该可以帮助您开始:

SELECT shop.s_id, floors.f_name, owners.o_id, s_remarks
FROM ?
LEFT JOIN ? ON ? = ?
LEFT JOIN ? ON ? = ?

您只需将问号替换为正确的表名或列名即可。

【讨论】:

  • 你可能是对的。为了安全起见,我已经从我的回答中删除了一些细节。
  • 我认为其他人在编辑之前有你发布的答案会更容易理解
  • @FakhrAlam:是的,我也这么认为。但是guidelines 说“您可以先使用伪代码,并且本着创建编程资源的精神,您可以在适当的时间后回来并编辑您的响应以包含更完整的代码。”但它并没有说明合适的时间量。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-05
  • 2014-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-31
相关资源
最近更新 更多