mysql - 显示来自两个外键的列数据
问题描述
我被卡住了,想知道如何根据两个不同的外键显示具有两列(城市名称)的表。在这种情况下,我想显示制造商城市和仓库城市,而它们都需要访问 CityID。
到目前为止,这是我得出的结论:
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 的任何帮助或解释
解决方案
您需要加入两次城市名称表,一次用于制造商,一次用于仓库。试试这个:
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
。
推荐阅读
- javascript - getElemenstByTag 在 facebook 页面插件 iframe 中返回 null
- python - Python美汤刮href
- javascript - vue js中的上下滑动下拉菜单
- javascript - 如何将文本和图像添加到文本框中
- java - Java 迷宫问题 - 堆栈溢出错误和迷宫矩阵未更新
- javascript - 如何从输入值中检索对象?
- flutter - 无法运行颤振应用程序
- reactjs - 流利的 UI 下拉需要未识别
- angular - 用自定义 jwt 令牌替换 azure 广告令牌
- python - 如何在模板中的 python 烧瓶中的字典中对特定值进行排序