Sql 将一个选择附加到另一个选择,然后从该结果中选择唯一的项

Sql 将一个选择附加到另一个选择,然后从该结果中选择唯一的项,sql,sql-server,select,append,unique,Sql,Sql Server,Select,Append,Unique,我对SQL还是新手。我希望从这两个选择中获取结果并将一个附加到另一个,然后仅从该结果中选择唯一的项 SELECT CONCAT('CSALES - PNP - ',[FArticle no.],' - ',[Store ID],' - ',[base UOM]) FROM tblStock SELECT CONCAT('CSALES - PNP - ',[FArticleNumber], ' - ',[Store ID],' - ','EA') FROM tblSales; 试试这个: S

我对SQL还是新手。我希望从这两个选择中获取结果并将一个附加到另一个,然后仅从该结果中选择唯一的项

SELECT CONCAT('CSALES - PNP - ',[FArticle no.],' - ',[Store ID],' - ',[base UOM]) FROM tblStock

SELECT CONCAT('CSALES - PNP - ',[FArticleNumber], ' - ',[Store ID],' - ','EA')  FROM tblSales;
试试这个:

SELECT CONCAT('CSALES - PNP - ',[FArticle no.],' - ',[Store ID],' - ',[base UOM]) FROM tblStock
UNION
SELECT CONCAT('CSALES - PNP - ',[FArticleNumber], ' - ',[Store ID],' - ','EA')  FROM tblSales

在这里阅读关于
UNION
UNION-ALL
我建议使用
UNION

SELECT CONCAT('CSALES - PNP - ', [FArticle no.], ' - ', [Store ID], ' - ', [base UOM])
FROM tblStock
UNION
SELECT CONCAT('CSALES - PNP - ', [FArticleNumber], ' - ', [Store ID], ' - ', 'EA')
FROM tblSales;

UNION
删除重复项。

您应该使用UNION只需在这两个变量之间添加
UNION
,它将自动删除重复项,如果使用
UNION ALL
,您将保留
的副本可能的副本,然后仅从该结果中选择唯一项。
:在这种情况下,将
UNION ALL
更改为仅为
UNION
。感谢您的提示。我习惯于在基本查询中避免重复,因为UNION比UNION更昂贵ALL@plaidDK正如你所看到的,我改变了答案并添加了一个参考来理解它。我指出了为什么我会在匆忙中自动使用工会;)谢谢,效果很好。我如何结束这个问题?SO也是新手。只需将答案标记为正确:。你不会关闭它,除非它是重复的,或者不是真正的问题,基于观点等等。你错过了工会。