我有两个简单的表格T1
和T2
两个上传的数据。我想在特定file_name
下显示user_id
。
T1
-------------------------
ID user_id admin_id
1 5 11
2 6 11
3 5 11
T2
--------------------------
ID user_id file_name
1 5 orange
2 6 apple
3 5 banana
我的问题是它会显示两次回声,而不是只显示一次。做这个的最好方式是什么?我必须使用内连接吗?或者每个循环只能使用2个。抱歉,这是一个菜鸟问题。
橙 香蕉
橙 香蕉
这是我的样本:
$test1 = select user_id,admin_id FROM T1;
for($test1 as $key => $value)
{
$test2 = select user_id,file_type FROM T2;
foreach($test2 as $key => value2)
{
if(test1->user_id==test2->user_id)
{
$test2 = select user_id,file_name FROM T2;
echo $test2->file_name.'<br>';
}
}
}
答案 0 :(得分:1)
首先,你完全错过了样本中的php语法(谈论查询字符串),其次没有对你的mysql(或任何sql)服务器的任何请求。
对于SQL命令,您应该阅读SQL中存在的JOIN命令 http://www.w3schools.com/sql/sql_join.asp 这是一个很好的网站开始。它详细并提供了很好的例子
关于内部联接的问题:不需要左联接(如果我错了,请纠正我)并加入user_id。我不会使用2个查询+循环导致连接是整个数据库事务中最慢的事情。命令本身将立即完成