Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 获取两个独立列的ID名称_Sql - Fatal编程技术网

Sql 获取两个独立列的ID名称

Sql 获取两个独立列的ID名称,sql,Sql,我正在尝试编写一条SQL语句来生成给定的输出: 到目前为止,我已经设法使用内部JOIN和and语句来生成表的一部分: 我试图根据外键获取仓库和制造商的城市名称,但我很难找到如何根据各自的ID引用城市名称 到目前为止,我已经做到了这一点: SELECT s.stkName as "Stock Name", m.ManID as "Manufacturer City", w.WHID as "Warehouse City", c.CityName as "Warehouse

我正在尝试编写一条SQL语句来生成给定的输出:

到目前为止,我已经设法使用内部JOIN和and语句来生成表的一部分:

我试图根据外键获取仓库和制造商的城市名称,但我很难找到如何根据各自的ID引用城市名称

到目前为止,我已经做到了这一点:

SELECT s.stkName as "Stock Name",
   m.ManID as "Manufacturer City",
   w.WHID as "Warehouse City",
     c.CityName as "Warehouse City",
  s.Sellingprice as "Selling Price"

FROM STOCKITEM s 
INNER JOIN MANUFACTURER4787 m 
 on s.ManID = m.ManID
INNER JOIN WAREHOUSE w 
 on w.CityID = m.CityID
INNER JOIN CITY c 
 on w.CityID = c.CityID
WHERE STKNAME = 'Electric Fan' OR 
STKNAME ='Sun Lounge' OR 
STKNAME ='Whisk Combo' OR 
STKNAME ='Solar Pump' OR 
STKNAME ='Garden Tools'

ORDER BY STKNAME ASC;

加入时必须为
城市创建别名,否则每行只能有一个城市

试试这个:

SELECT s.StkName as 'Stock Name', cm.CityName as 'Manufacturer City', 
       cw.CityName as 'Warehouse City', s.SellingPrice as 'Selling Price'
FROM STOCKITEM s
INNER JOIN MANUFACTURER m ON s.ManID = m.ManID
INNER JOIN CITY cm on m.CityID = cm.CityID
INNER JOIN WAREHOUSE w ON s.WHID = w.WHID
INNER JOIN CITY cw on w.CityID = cw.CityID 

哦,我现在明白了!这对我帮助很大,非常感谢你的解释!