提问人:Allen King 提问时间:9/23/2023 更新时间:9/23/2023 访问量:10
MySQL 根据一个表中的值从另一个表中筛选出行
MySQL Getting filtered row from one table based on a value in another table
问:
我在连接这两个表时遇到问题。下面的查询将返回 1 和 8。但是,我还想检查是否在 .如何联接仅返回 8 的两个表。ID-A
ID-A
StatusCode
TableA
ID-A
TableA
ID-A, StatusCode
1 1
5 9
8 2
TableB
ID-B ID-A ACode
1 1 1
2 1 0
3 5 1
4 5 1
6 5 0
7 5 1
8 8 1
9 8 1
SELECT ID-A FROM TableB WHERE Acode=1 GROUP BY ID-A HAVING COUNT(*) < 3
答:
0赞
Barmar
9/23/2023
#1
使用 加入您的子查询。TableA
SELECT t1.`ID-A`
FROM (
SELECT `ID-A`
FROM TableB
WHERE Acode=1
GROUP BY `ID-A`
HAVING COUNT(*) < 3
) AS t1
JOIN TableA as t2 ON t1.`ID-A` = t2.`ID-A`
WHERE t2.StatusCode = 2
评论