sql - 如果另一个表中不存在数据,如何从表中选择

标签 sql sql-server sql-scripts

这应该很简单。我不知道为什么我感到难过。

我有两个相似的表。假设它们每个都只有 2 列:PartNumber 和 Order。

在一条语句中,我想从 Order = ABC 的 WorkItemPartsFiltered 中选择 PartNumbers,但如果不存在,我想从 Order = ABC 的 WorkItemParts 中选择它们

--WorkItemParts
PartNumber | Order
123        | ABC
456        | ABC
789        | ABC
012        | ABC
123        | DEF
456        | DEF
389        | GHI


--WorkItemPartsFiltered
PartNumber | Order
123        | ABC
456        | ABC
789        | ABC
456        | DEF
389        | GHI

最佳答案

SELECT [Order]
      , COALESCE( WorkItemParts.PartNumber
                      ,WorkItemPartsFiltered.PartNumber) AS PartNumber
FROM WorkItemParts
LEFT JOIN WorkItemPartsFiltered 
ON WorkItemPartsFiltered.[Order] = WorkItemParts.[Order]

关于sql - 如果另一个表中不存在数据,如何从表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29850441/

相关文章:

sql - 以编程方式生成 SQL 脚本以在没有 PRIMARY 语句的情况下创建数据库..使用脚本程序

android - 如何使用单个查询更新所有行中的列 - Android Room Database

sql-server - 创建与另一个表结构完全相同的表变量

sql - "WHERE"子句中带有 NEWID() 的奇数 SQL Server (TSQL) 查询结果

sql - 没有数据时删除空假脱机文件

database - 在 C :\Drive 中的客户端计算机上创建数据库时操作系统错误 5(访问被拒绝)

PHP脚本不将表单数据插入数据库

MySQL,选择短语作为单独单词的最快方法?

java - JPA native 查询连接返回对象但取消引用引发类强制转换异常

mysql - 在具有多值 MS SQL 的外键中插入表