Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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查询?_Mysql - Fatal编程技术网

如何组合这两个mysql查询?

如何组合这两个mysql查询?,mysql,Mysql,如果重复此操作,很抱歉,但我找到的所有解决方案都不起作用,可能是因为两个查询位于同一个表上 这就是我现在正在做的 $sql = $database->query("SELECT id FROM attachments WHERE user='$user_id'"); $count = mysql_num_rows($sql); $sql = $database->query("SELECT id FROM attachments WHERE member_id IN ($found

如果重复此操作,很抱歉,但我找到的所有解决方案都不起作用,可能是因为两个查询位于同一个表上

这就是我现在正在做的

$sql = $database->query("SELECT id FROM attachments WHERE user='$user_id'");
$count = mysql_num_rows($sql);

$sql = $database->query("SELECT id FROM attachments WHERE member_id IN ($found_groups)");
$count += mysql_num_rows($sql);
$found_groups是来自上一个查询的字符串

$sql_groups = $database->query("SELECT DISTINCT group_id FROM tbl_members WHERE client_id='$client_id'");
然后结果就内爆了

两个查询都可以正常工作。问题是结果不明显,每个用户都有3个查询,我觉得这太多了

我怎样才能减少这个

非常感谢。

试试:

SELECT DISTINCT id FROM attachments 
WHERE user='$user_id' OR member_id IN ($found_groups)

不知何故,此查询的最终计数与前两个不同(总共5个附件,包括own和用户所属的组)。即使我删除了不同的部分,它也只会给我3个:(您确定原始结果没有问题吗?没有重复的ID?附件也适用于用户(我用于测试的用户上有3个附件)或用户组。在本例中,2个附件用于此用户存在的组,因此总共有5个可用附件。我明白了…直接运行此查询时,您会得到什么:
从附件中选择COUNT(id)AS total FROM attachments,其中user='$user\u id'或member\u id In($found\u groups)
?我将无法运行该查询,因为此表上不存在成员id。只有组id,它是成员表的外键(每个组中每个成员都有一条记录)