Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何实现计数(id)的效果>;没有分组_Mysql - Fatal编程技术网

Mysql 如何实现计数(id)的效果>;没有分组

Mysql 如何实现计数(id)的效果>;没有分组,mysql,Mysql,如何从table_1中选择所有id,并包括表2同时具有KR和BR状态的条目group by table_1.id具有count(table_1.id)>1将只为每个条目包含一个id,我需要两个idwhere in('KR','BR')将给出或。所以我需要的是,其中条目存在于表2中,并且有一个用于KR和BR的条目 table_1 id | ===+ 1 | ===+ 2 | ===+ 3 | ===+ table_2通过table_1\u id table_2 id | table_

如何从
table_1
中选择所有
id
,并包括表2同时具有
KR
BR
状态的条目
group by table_1.id具有count(table_1.id)>1
将只为每个条目包含一个id,我需要两个id
where in('KR','BR')
将给出或。所以我需要的是
,其中条目存在于表2中,并且有一个用于KR和BR的条目

table_1

id |
===+
 1 |
===+
 2 | 
===+
 3 |
===+
table_2
通过
table_1\u id

table_2

id | table_1_id | status
===+============+=======
1  |      1     | KR
===+============+=======
2  |      1     | BR
===+============+=======
3  |      2     | KR
===+============+=======
4  |      3     | KR    
===+============+=======
5  |      3     | BR
===+============+=======
在上面的示例中,输出将是

t_1.id | t_2.id | t_2.status
=======+========+===========
 1     |   1    |  KR
=======+========+===========
 1     |   2    |  BR
=======+========+===========
 3     |   4    |  KR
=======+========+===========
 3     |   5    |  BR
=======+========+===========
在这个结果集中,
表_1.id=3
将被忽略,因为它不包含两种状态的条目,如何实现这一点

编辑:我还尝试
在(“KR,BR”)

但是每只猫仍然只有一个条目。

给这只猫剥皮的方法很多,但是这个怎么样

SELECT t_1.ID, t_2.id, t_2.status
FROM table_1 t_1
INNER JOIN table_2 t_2 ON t_1.id = t_2.table_1_id
WHERE t_1.ID IN (SELECT table_1_id FROM table_2 WHERE status = 'KR')
AND t_1.ID IN (SELECT table_1_id FROM table_2 WHERE status = 'BR')
这可能会为您提供更多具有其他状态的行,因此您可能需要将其添加到where子句中:

AND t_2.status in ('KR', 'BR')

是的,就像那样。删除我自己的答案。