Php Mysql将三个查询合并为一个查询
我有三个问题:Php Mysql将三个查询合并为一个查询,php,mysql,Php,Mysql,我有三个问题: $data1 = mysql_query("SELECT * FROM 'table1' WHERE post_status = 'publish' AND 'post_title' LIKE '$letter%' ORDER BY 'post_title' ASC") or die(mys
$data1 = mysql_query("SELECT *
FROM 'table1'
WHERE post_status = 'publish'
AND 'post_title' LIKE '$letter%'
ORDER BY 'post_title' ASC") or die(mysql_error());
while($info1 = mysql_fetch_array( $data1 )){
$id = $info1['ID'];
$data2 = mysql_query("SELECT *
FROM 'table2'
WHERE post_id='$id'
AND key = 'the_key'") or die(mysql_error());
while($info2 = mysql_fetch_array( $data2 )){
$key = $info2['value'];
}
if ($key == 'something') {
echo "...";
$data3 = mysql_query("SELECT *
FROM 'table3' WHERE postnumber='$id'")
or die(mysql_error());
while($info3 = mysql_fetch_array( $data3 )){
echo $info3['counter'];
}
echo "...";
}
}
我想使用一个查询作为三个有时需要的查询,我尝试过的查询需要更长的时间
我花了很长时间试图解决这个问题;这不是“为我做”,但请帮助。在id上加入您的三个表 是的,我可以给你看一些例子,但是,已经有很多SQL连接的例子了。如果你看过其中的一个,并且有一个问题,问它。但是,如果你还没有看,让我不要再花时间重新写你能更快地在谷歌上找到的东西。(我不是想成为一个聪明人,只是想最有效地利用我和你的时间。)
你应该使用左连接吗?还是加入equ?我不知道,我不知道你的数据。如果你想复制你现在的代码,你可以使用左连接。然而,equ联接可能是您实际想要的。最大的问题是,在迭代第二个查询之后,您获取返回的最后一行的“值”
但是您不能依赖于从数据库返回的行的顺序,因此您的查询是不确定的。您有什么理由避免代码中的换行符吗?代码是不可读的。重新格式化,使其易读。不要使用
标签;缩进四个(或更多)空格。将材料分成几行(理想情况下,这样你就不会看到水平滚动条,而是以某种方式将其分成几行)。你能编辑它使其可读吗?:)我总是这样做,我似乎不能让stackoverflow显示我的脚本be@alfie:不要使用标签-这会混淆事物。不要使用标签;这可不是什么好事。请使用输入文本框上方的“{}”按钮将代码缩进4个空格。这可能是我的问题之一,我尝试退出了一些查询,但它们都需要更多的时间。。不确定我是否应该使用左外连接,内连接。。。