【发布时间】:2017-08-07 15:21:09
【问题描述】:
这是两个表的示例(请参阅 SQLFiddle),我尝试创建一个 select 语句,其中一个表是查找表(Facility),另一个是数据表(WOENTITY),我想从中选择获取 facititynames查找并且每当它找到多个设施ID条目时,只需将文本写入“多个位置”,或者如果它找到空或零然后写入“未知”,否则只需写入设施名称,我试图做一个案例以用单个条目替换多个计数。任何帮助表示赞赏。
链接到 SQL Fiddle:Click Here
这是表格外观的屏幕截图,Table WOEntity 和 Table Facility Image showing the table schema and expected end result
我首先想到从 WOEntity 表中获取多个位置 ID 的计数,然后创建一个 select Case 语句但没有用,这里是草稿代码。
select e.WOID, count(e.ENTITYUID) as CNT,
(case
when e.ENTITYUID <> '0' and count(e.ENTITYUID) <=1 then
(Select FACILITYNAME from FACILITY l where e.ENTITYUID =
l.FACILITYID)
when count(e.ENTITYUID) > 2 then 'MULTIPLE FACILITIES'
else 'UNKNOWN LOCATIONS'
end) as facilityName
From WOENTITY e
group by e.WOID order by WOID;
【问题讨论】:
-
您的预期结果是什么?
-
感谢您的回复,预期的结果是我只想按 WOID 而不是实体进行分组。我想查看两列,不同的 WOID(WOID 的每个条目)和设施名称(来自查找)
-
OP,在为您的问题提供其他信息时,请编辑您的原始问题。谢谢,欢迎来到 Stack Overflow。
-
@STLDeveloper,感谢您的建议,会做的!
标签: sql sql-server select sql-server-2012