【问题标题】:SQL. Select all Serial Numbers from two different tablesSQL。从两个不同的表中选择所有序列号
【发布时间】:2017-12-12 14:22:12
【问题描述】:

我的产品是通过两台相同机器中的一台发送项目,这些机器将数据记录到自己的表中。每个项目都有一个序列号,我想列出所有通过机器的零件的序列号。

我对 Inner Join 所做的所有尝试都给了我一个结果,其中包含我不太感兴趣的两列。

CREATE TABLE tblTemp (SerialNumber Varchar(50))
go
INSERT INTO tblTemp SELECT DISTINCT SerialNumber FROM Table1 
go
INSERT INTO tblTemp SELECT DISTINCT SerialNumber FROM Table2
go
SELECT * FROM tblTemp ORDER BY SerialNumber
go
DROP TABLE tblTemp
go 

我想要的输出应该是
序列号
SN001
SN002
SN003

我的代码有效,但我认为有一种方法可以处理某种类型的虚拟临时表,这样我就可以在一个查询中获得所有信息?

【问题讨论】:

    标签: sql-server multiple-columns multiple-tables


    【解决方案1】:

    使用 Union 获得所有结果。

    SELECT * FROM
     (SELECT DISTINCT SerialNumber FROM Table1
      UNION
      SELECT DISTINCT SerialNumber FROM Table2 
     ) ORDER BY SerialNumber 
    

    【讨论】:

    • 没错。如果您希望在获得所有结果后对其进行排序,我只添加了外部查询,但内部查询本身就足够了。
    • 'SELECT DISTINCT SerialNumber FROM Table1 UNION SELECT DISTINCT SerialNumber FROM Table2 ORDER BY SerialNumber' 这对我有用。最初的 Select 创建了一个错误。感谢您的输入!!!
    【解决方案2】:

    尝试对这两个可以帮助您的选择语句使用联合

    【讨论】:

    • 正确!简单易行。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    • 1970-01-01
    相关资源
    最近更新 更多