我有一个表格,包含个人和第二个表格,包含相册记录和状态。只有当表B中的所有状态都相同时,才能从表A中选择
我需要帮助编写一个视图,只有当该专辑表中的两个记录的状态为true时才选择该视图。 (只选个人所有albumStatus = 1的个人)
我需要的是多一点,因为如果一个人有两个专辑,一个状态为true,另一个状态为false。 我想取消个人被选中的资格,并且我无法弄清楚如何实现这一点。
感谢您提供任何帮助。
问候
我有一个表格,包含个人和第二个表格,包含相册记录和状态。只有当表B中的所有状态都相同时,才能从表A中选择
我需要帮助编写一个视图,只有当该专辑表中的两个记录的状态为true时才选择该视图。 (只选个人所有albumStatus = 1的个人)
我需要的是多一点,因为如果一个人有两个专辑,一个状态为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
)
提示查询:当检查一个存在或更多的行,使用['EXISTS'](https://msdn.microsoft.com/en-us/library/ms188336.aspx)而不是获得确切的['COUNT'](https:// msdn.microsoft.com/en-us/library/ms175997.aspx),然后将该值与零进行比较。 – HABO