内部联接的SQL列是否分别显示?

时间:2019-01-03 16:16:46

标签: sql tsql

我试图将某些表连接在一起,但是当我将它们连接时,我要连接的列将分别显示。

我的代码如下:

    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学校输出的图像

enter image description here

0 个答案:

没有答案