首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示来自两个外键的列数据

问显示来自两个外键的列数据
EN

Stack Overflow用户
提问于 2018-05-12 03:01:45
回答 1查看 36关注 0票数 1

我被困住了,想知道如何显示基于两个不同外键的两列(城市名称)的表。在这种情况下,我想展示一个制造商城市和一个仓库城市,而他们都需要访问CityID。

​

​

这就是我到目前为止得出的结论:

代码语言:javascript
复制
SELECT s.StkName, c.CityName AS "Manufacturer City", c.CityName AS 
"Warehouse City", s.SellingPrice FROM
STOCKITEM7364 s
LEFT OUTER JOIN MANUFACTURER7364 m ON m.ManID = s.ManID
LEFT OUTER JOIN CITY7364 c ON c.CityID = m.CityID
LEFT OUTER JOIN WAREHOUSE7364 w ON w.WHID = s.WHID AND w.CityID = c.CityID
WHERE s.StkName LIKE '%n' OR s.StkName LIKE '%e' OR s.StkName LIKE '%o' OR 
s.StkName LIKE '%p' OR s.StkName LIKE '%s';

我非常感谢有关sql的任何帮助或解释。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-12 03:28:36

您需要两次加入城市名称表,一次用于制造商,一次用于仓库。试试这个:

代码语言:javascript
复制
SELECT s.StkName, cm.CityName AS "Manufacturer City", cw.CityName AS 
"Warehouse City", s.SellingPrice FROM
STOCKITEM7364 s
LEFT JOIN MANUFACTURER7364 m ON m.ManID = s.ManID
LEFT JOIN CITY7364 cm ON c.CityID = m.CityID
LEFT JOIN WAREHOUSE7364 w ON w.WHID = s.WHID
LEFT JOIN CITY7364 cw ON c.CityID = w.CityID
WHERE s.StkName LIKE '%n' OR s.StkName LIKE '%e' OR s.StkName LIKE '%o' OR 
s.StkName LIKE '%p' OR s.StkName LIKE '%s';

注意,OUTER在LEFT JOIN中并不是必需的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50302470

复制
相关文章

相似问题

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