旧:
好的,我有1个变量,在3个首字母中用作 WHERE 条件 查询。基于我需要创建的其中一个回应 查询另外2个查询。
$var1 = $_GET['id']; $var2 = $_GET['truck']; //first two are easy SELECT `name`, `address` FROM `company` WHERE `id`='".$var1."' LIMIT 1; //q1 SELECT `value`, `date` FROM `checks` WHERE `truck`='".$var2."'; //q2 //the 3rd query may have multiple results and for every result i need **q4** and **q5** to be executed SELECT `loadNumber`, `cfnNumber` FROM `loads` WHERE `truck`='".$var2."' ; //q3 //notice that WHERE conditions use values from **q3** SELECT `value`, `date` FROM `finances` WHERE `load`='".loadNumber."'; //q4 SELECT `address` FROM `stops` WHERE `load`='".loadNumber."'; //q5
=============
修改 我的问题是关于优化,因为我试图将所有这些查询组合成一个,如果可能的话,希望它意味着更少的服务器加载时间。我对JOINS不太熟悉,所以最终this是我的代码与真实数据的样子。 here是结果,也是真实数据。是否需要优化/加入这些查询以减少服务器负载?
答案 0 :(得分:2)
我建议只合并最后3个查询,保持前2个:
NUL
答案 1 :(得分:-1)
做一个子查询。是这样的:
SELECT `item1_t1`, `item2_t1` FROM `table1` WHERE `item2_t1` in (SELECT `item1_t2` FROM `table2` WHERE `item2_t2`='".$var."');