【问题标题】:Append a SELECT to another SELECT and then SELECT Unique items from that result将 SELECT 附加到另一个 SELECT,然后从该结果中选择唯一项
【发布时间】:2018-01-17 11:54:45
【问题描述】:

我还是 SQL 新手。我想从这两个选择中获取结果并将一个附加到另一个,然后只从该结果中选择唯一项目。

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

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

【问题讨论】:

标签: sql sql-server select append unique


【解决方案1】:

试试这个:

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

阅读此处了解UNIONUNION ALL https://docs.microsoft.com/en-us/sql/t-sql/language-elements/set-operators-union-transact-sql

【讨论】:

  • and then only select the Unique items from that result. :在这种情况下将 UNION ALL 更改为 UNION
  • 感谢您的提示。我习惯于避免基本查询中的重复,因为 UNION 比 UNION ALL 更昂贵
  • @plaidDK 如您所见,我更改了答案并添加了参考以理解它。我指出了为什么我会匆忙自动使用联合;)
  • 谢谢,效果很好。我如何关闭这个问题?对 SO 来说也是新手。
  • 只需将答案标记为正确:stackoverflow.com/help/someone-answers。您不会关闭它,除非它是重复的或不是真正的问题、基于意见等。
【解决方案2】:

我建议使用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。
猜你喜欢
  • 2015-09-20
  • 1970-01-01
  • 2020-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多