至少三个方法可以实现:
为五大连池等地区用户提供了全套网页设计制作服务,及五大连池网站建设行业解决方案。主营业务为网站建设、网站设计、五大连池网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
一、使用视图来实现多表联合查询,
例如:创建视图: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 a.卡号,a.姓名,c.折扣 from A表 as a,B表 as b,C表 as c where b.工号='工号' and b.姓名=a.姓名 and b.工号=c.工号
这给出的只是一个思路流程。具体处理方法还要你仔细修改。我也是从新手过来的,问题处理的多了你自然也就有经验了。
你这个不能这样查询,利用中间表(bookinfo)关联其它两表bookid booknotes
select bookinfo.isbn,booknotes.tiaoma,bookinfo.title,bookinfo.price,booknotes.bdate.booknotes.rdate from bookinfo left join bookid on bookinfo.isbn=bookid.isbn left join booknotes on bookinfo.id=booknotes.id;
SELECT aid,a1,a3,B.*,C.* FROM A LEFT JOIN B ON aid=b_aid INNER JOIN C ON aid=c_aid
你也可以 create view xx as SELECT aid,a1,a3,B.*,C.* FROM A LEFT JOIN B ON aid=b_aid INNER JOIN C ON aid=c_aid