我试图将某些表连接在一起,但是当我将它们连接时,我要连接的列将分别显示。
我的代码如下:
Select * FROM
SimulationOutput as SO
Inner Join SimulationInput as SI
ON SO.Key = SI.Key
AND
SO.Scenario = SI.Scenario
执行此操作时,我得到了预期的结果,但结果还包括我刚刚加入的“键”列和“方案”列的重复项。
这是预期的行为吗?
https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_join_inner
在该网站上
我运行了以下代码:
Select * FROM
Orders
Inner Join Customers ON Orders.CustomerID = Customers.CustomerID
ORDER BY Orders.CustomerID
在该输出中,CustomerId列仅显示一次,Customers.CustomerID被删除。我试图理解为什么在后者而不是前者中会发生这种情况。
我问的原因是因为我打算使用一系列嵌套表。而且我遇到了重复的列问题,其中SQL不知道要选择哪个方案列。我知道我可以指定特定的列,但是我打算在嵌套循环的顶部指定我的特定列,并在之间使用一系列嵌套的Select *。
所以结构类似于
Select Column1, Column2, Column3 From
(Select * FROM ......
(Select * FROM.......
(Select * FROM..... ) as T1) as T2) as T3
我知道这可能不是理想的选择,对于这个问题,我的最终结果还没有定论,我想了解为什么我加入的专栏没有像w3schools网站上那样被删除。
是因为我正在使用AND语句吗?是否有更好的方法使用多个条件进行内部联接?是因为我的SQL版本(TSQL吗?)
W3学校输出的图像