我有个人桌子和第二张桌子,上面有专辑记录和状态。
我需要帮助编写一个视图,只有当该Album表中的两个记录都具有true时才选择它。 (仅选择indivTable中所有albumStatus = 1的个人)
我需要的是更多一点,因为如果一个人有两张专辑,一张状态为true,另一张状态为false。 我想取消那个人被选中的资格,而且我无法弄清楚如何实现这个目标。
感谢所提供的任何帮助。
此致
答案 0 :(得分:2)
select * from individuals i where (select count(1) from albums a where status != 1 and individualID = i.individualID) = 0
答案 1 :(得分:1)
下面的查询还会检查个人是否至少有一张专辑(他们不算数?)
SELECT DISTINCT i.*
FROM Individuals AS i
INNER JOIN Albums AS a
ON i.ArtistID = a.ArtistID
WHERE NOT EXISTS
(
SELECT 1
FROM Albums AS a2
WHERE a2.ArtistID = i.ArtistID
AND a2.Status = 0
)