编辑:详细说明
详细说明:
*在table_a中有100个成员,但只有50个成员在table_b中有记录,只有25个成员在table_b中有记录被批准= 1因此,查询返回的值将是25 *
嘿,这里的每个人都是我想要解决的查询,它需要返回一个结果计数,这样我就可以使用mysql_result($ query,0)进行访问。
SELECT COUNT(id) FROM table_a WHERE (THIS IS WHERE I AM STUCK)
我需要检查table_b中与table_b中的每个id相匹配的table_b WHERE memberID中的memberID的计数是否大于1
最终结果需要是table_b中具有条目的成员数量的计数。
需要访问的表列示例
table_a
-----------------
id
table_b
------------------
id
memberID
approved
如果您需要更多详细信息,请与我们联系。
答案 0 :(得分:1)
我假设您希望获得table_a中与table_b匹配的记录数,只要table_b中的值得到批准即可。因此,我会加入2个表。内部联接确保您只考虑两个表中的行,并且where语句负责批准的需求。
select count(a.id)
from table_a a
join table_b b
on a.id = b.memberID
where b.approved=1
答案 1 :(得分:0)
SELECT b.ID, a.ID
FROM table_a a, table_b b
WHERE a.ID = b.ID AND b.ID = 1
答案 2 :(得分:0)
我在SQL中有点生疏,但可以通过在查询中指定这两个表来实现:
SELECT COUNT(DISTINCT table_a.id)
FROM table_a, table_b
WHERE table_a.id = table_b.MemberID
AND table_b.approved = 1;
我相信这符合您的选择标准。
答案 3 :(得分:0)
SELECT COUNT(*) AS cnt
FROM table_a AS a
WHERE EXISTS
( SELECT *
FROM table_b AS b
WHERE b.memberID = a.id
AND b.approved = 1
)
答案 4 :(得分:0)
解决了问题
不得不向后看
SELECT COUNT( DISTINCT memberID )
FROM table_b
WHERE approved =1
我甚至不需要查看table_a,因为我正在计算基于table_b的memberID
有时,解决方案非常简单,就在您的面前。
感谢您的帮助!我希望将来能有所帮助。