我试图显示一个表中项目的结果,其中来自另一个表的计数等于第一个表中的数字。我已经被困在如何这样做了几个星期,所以我终于决定寻求帮助。我很难解释我需要什么,但我会尽我所能。
我正在使用PDO与我的数据库进行交互,这是mysql。
例如我有两张桌子:
table 1
-----------------
key | name | total
1 | item 1 | 3
2 | item 2 | 4
3 | item 3 | 2
table 2
-----------------
key | table1 key
1 | 1
2 | 2
3 | 3
4 | 1
5 | 1
6 | 3
7 | 2
8 | 2
因此,在这种情况下,项目1将有3/3项目,项目2将有3/4项目,项目3将有2/2项目。因此,它将显示项目1和项目3,因为计数因为这两个人与第一表中的总数相等。
我希望我能够很好地解释这一点。
答案 0 :(得分:1)
如果你想要一个SQL查询来做到这一点,试试这个:
select t1.*
from table1 t1
inner join (
select table1_key, count(1) as cnt from table2 group by table1_key
) t2 on t1.key = t2.table1_key and t1.total = t2.cnt