我有一个位置数据库,可以有0到27种类型的可用日志。我只对1类日志的存在感兴趣,并希望在日志存在的情况下返回true或false。我尝试使用CASE WHEN,但问题是如果一个日志存在(这是所需的结果),我的结果显示真或假,然后为所有其他日志,所以我得到多个具有相同ID的行(这是不是我想要的)。 示例代码:sql:当存在多个项目时,检查ID是否仅存在一个特定项目
SELECT
Table1.LocationId
, CASE WHEN Table2.LogId = 8 THEN 'True' ELSE 'False' END AS 'Log8Avail'
期望的结果将是:
| LocationID |Log8Avail|
----------------------
| 1 | True |
----------------------
| 2 | False |
----------------------
| 3 | True |
----------------------
但是目前我得到的是:
我的问题是,我该如何调整自己的查询,以便它只查找我感兴趣的特定日志的存在与否?
请显示您的完整查询。 “Table2.LogId”来自哪里?你的表定义是什么?另外,你使用的是什么DBMS? (MySQL?SQL Server?Oracle?其他?) – Siyual
对不起。我是StackFlow和SQL的新手。下次我会发布完整的代码并指定DBMS。感谢您的反馈意见。 – Heather