我有this answer以下的SQL代码到我之前的问题:
SELECT *
FROM Portfolio
INNER JOIN Client ON Portfolio.Client_id=Client.id
INNER JOIN Provider ON Client.Provider_id = Provider.id
此代码返回我需要的数据但是在Client
表中,我只想要“名称”列,而在Provider
表中我只需要“名称”列,而我需要所有的Portfolio
表中的列。我还需要将Name
表格的Provider
列的标题替换为Provider Name
,将Name
表格中的Client
列替换为Client Name
}。所以,我在下面试过,
SELECT *
FROM Portfolio
INNER JOIN Client.Name "Client Name" ON Portfolio.Client_id=Client.id
INNER JOIN Provider.Name "Provider Name" ON Client.Provider_id = Provider.id
它不起作用。
答案 0 :(得分:3)
您可以这样做,并为您的列提供新的别名,在下面的查询中,我给p
Portfolio
一个简短的名称,以便选择Portfolio
中的所有列,您只能使用p.*
和Client
表
Provider
相同
SELECT p.* ,
c.Name AS 'Client Name' ,
pr.Name AS 'Provider Name'
FROM Portfolio p
INNER JOIN Client c ON p.Client_id=c.id
INNER JOIN Provider pr ON c.Provider_id = pr.id
答案 1 :(得分:0)
SELECT Portfolio.*, Client.Name as "Client Name", Provider.Name as "Provider Name"
FROM Portfolio
INNER JOIN Client.Name ON Portfolio.Client_id=Client.id
INNER JOIN Provider.Name ON Client.Provider_id = Provider.id