我希望有人能帮助我。
我需要搜索以过滤出数据库中的值。该数据库有大约 14 000 条考拉记录。
每只考拉都有自己的名字,命运也随之而来。
我需要为已重新安置、获救或照顾的考拉提取 koalaName,但如果它最终被发现死亡,则删除 koalaName。
在上述输出的情况下,Alec 在结果中被淘汰,因为他最终死亡、安乐死或被发现死亡。在 Aleta 和 Alex 的情况下,我只需要知道他们的名字一次。
这是我一直在尝试使用的查询。
SELECT `id`, `koalaName`, `fate`
FROM main A
WHERE EXISTS
(
SELECT `id`, `koalaName`, `fate`
FROM main B
WHERE A.koalaName = B.koalaName
AND B.`fate` REGEXP 'Released|Relocated|Care'
)
AND NOT EXISTS
(
SELECT `id`, `koalaName`, `fate`
FROM main B
WHERE A.koalaName = B.koalaName
AND B.`fate` REGEXP 'Died|Euth|Dead'
)
我似乎无法获得将 koalaName 输出为单个值而不是返回多个值的结果
例如,Alex 应该只出现一次。
非常感谢,我认为它很简单,但我似乎无法做到。
1 个回答