Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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
Php 使用更多子查询_Php_Mysql_Sql - Fatal编程技术网

Php 使用更多子查询

Php 使用更多子查询,php,mysql,sql,Php,Mysql,Sql,当我使用子查询时,我遇到了这种情况。有谁能告诉我哪一个是有效的,以及案例1比案例2好的情况,或者反之亦然 在案例1中,我使用了3个子查询,总共4个select操作,它需要执行 案例1 SELECT * FROM t WHERE Cid = (SELECT cid FROM s WHERE id = $sid) AND Bid = (SELECT bid FROM s WHERE id = $sid) AND Eid = (SELECT eid FROM s WHERE id =

当我使用子查询时,我遇到了这种情况。有谁能告诉我哪一个是有效的,以及案例1比案例2好的情况,或者反之亦然

在案例1中,我使用了3个子查询,总共4个select操作,它需要执行

案例1

SELECT * FROM t 
WHERE Cid = (SELECT  cid FROM s WHERE id = $sid) 
  AND Bid = (SELECT bid FROM s WHERE id = $sid) 
  AND Eid = (SELECT eid FROM s WHERE id = $sid)
在案例2中,我从数据库中检索了一些值,并再次执行mysql查询。这里mysqli_查询执行两次,但在案例1中,我们只使用了一次

案例2

$res = mysqli_query($con,"SELECT cid,bid,eid FROM s WHERE id = $sid");
$row = mysqli_fetch_array($r,MYSQL_ASSOC);

"SELECT * FROM t WHERE Cid = $row[cid] AND Bid = $row[bid] AND Eid = $row[eid]";

还是其他更好的解决方案?非常感谢您的帮助。谢谢。如果可以使用
连接
,则不需要子查询

SELECT t.* FROM t
JOIN s ON t.Cid = s.cid AND t.Bid = s.bid AND t.Eid = s.eid
WHERE s.id = $sid

我也要发同样的帖子…你应该得到+1,先生。