Tsql 仅当表B中的所有状态相同时,才从表A中选择

Tsql 仅当表B中的所有状态相同时,才从表A中选择,tsql,Tsql,我有一个包含个人的表,还有一个包含专辑记录和状态的表 我需要帮助编写一个视图,该视图仅在该唱片集表中的两条记录的状态均为true时进行选择。仅从所有albumStatus=1的indivTable中选择个人 我需要的是多一点,因为如果一个人有两张专辑,一张状态为true,另一张状态为false。 我想取消那个人被选中的资格,但我不知道如何做到这一点 感谢能够提供的任何帮助 关于下面的查询还检查个人是否至少有一张专辑,他们也不算对吗 select * from individuals i wher

我有一个包含个人的表,还有一个包含专辑记录和状态的表

我需要帮助编写一个视图,该视图仅在该唱片集表中的两条记录的状态均为true时进行选择。仅从所有albumStatus=1的indivTable中选择个人

我需要的是多一点,因为如果一个人有两张专辑,一张状态为true,另一张状态为false。 我想取消那个人被选中的资格,但我不知道如何做到这一点

感谢能够提供的任何帮助


关于

下面的查询还检查个人是否至少有一张专辑,他们也不算对吗

select * from individuals i where (select count(1) from albums a where status != 1 and individualID = i.individualID) = 0
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
)

下面的查询还检查个人是否至少有一张专辑,他们也不算对吗

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
)

提示:检查是否存在一行或多行时,使用该行比获取精确值然后将值与零进行比较更有效。提示:检查是否存在一行或多行时,使用该行比获取精确值然后将值与零进行比较更有效。