
一、使用视图来实现多表联合查询,
例如:创建视图:create view userstoposts as select u.name,u.qq,p.post_id,p.title, p.contents, p.contents from users as u,posts as p where u.name=p.name
二、直接使用表联合查询
例如:select u.name,u.qq,p.* from users as u,posts as p where u.name=p.name
三、结合PHP语言实现
例:1、
<?php
$Sql="select *from posts"
$Result=@mysql_query($Sql)
while($rows=mysql_fetch_assoc($Result)){
$sql1="select name,qq from users where name='".$rows['name']."'"
$result1=@mysql_query($sql1)
$rows1=mysql_fetch_assoc($result1)
$OUTPUT[]=array(
'name'=>$rows['name'],
'qq'=>$rows1['qq'],
'post_id'=>$rows['post_id'],
'title'=>$rows['title'],
'contents'=>$rows['contents']
)
}
print_r($OUTPUT)//可以你需要的结果输出
?>
这是查找。select t2.B ,t1.A from 表2 as t2 left join 表1 as t1 on t2.ID=t1.ID 如果要分页的话,就在后面加 limit 如:select t2.B ,t1.A from 表2 as t2 left join 表1 as t1 on t2.ID=t1.ID limit 0,5, 就是查 0到 第5条记录。具体数字还是得自己设置哦。select `a`.*, `b`.`导师姓名` WHERE `a`.`导师ID` = `b`.`导师ID`A表中导师ID为索引
B表中导师ID为主键
这样都不明白。。无奈了
你把你数据库里字段名写出来,别用文字代替了
另外还有要检索什么东西
直接写好sql给你就是了
if ($condition == ""){
$condition = "WHERE sid LIKE \"%".$id."%\""
} else{
$condition .= "AND sid LIKE \"%".$id."%\""
}
改成
condition = " AND sid LIKE \"%".$id."%\""
然后SQL该下
$sql = 'select `data`.*, `teacher`.`tname` FROM `data`, `teacher` WHERE `data`.`tid` = `teacher`.`tid`' . $condition
就这样
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)