php+mysql的三表联合查询语句问题……

PHP+MYSQL做的……数据库结构改不了了,需要增加新功能。数据库结构:A表:卡号,姓名,身份证号B表:工号,姓名,身份证号C表,卡号,工号,折扣解释:A表为账户表,包... PHP+MYSQL做的……数据库结构改不了了,需要增加新功能。

数据库结构:
A表:卡号,姓名,身份证号
B表:工号,姓名,身份证号
C表,卡号,工号,折扣

解释:
A表为账户表,包含所有的优惠卡对应的用户姓名和身份证;
B表为员工表,表内均为员工的信息,客户的没有在里面;
C表为客户的卡号和对应的经办人的工号。

需求:
现在需要查询得出结果:已知一个员工的工号及身份证号,查询出该员工所持有的优惠卡及该员工售出的所有优惠卡,员工的折扣默认为不打折。
问题1:查询语句怎么写呢?需要高效一点的写法…大概5w的卡……不要太多select的

输出表结构:
卡号,姓名,折扣
问题2:所有的表内都不含员工自己的优惠卡的折扣,怎么php里处理值呢?

谢谢了!
展开
 我来答
百度网友7243e49
2014-01-13 · 超过13用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:36.8万
展开全部
其实你这个查询只需要一个条件就可以了。推荐用工号进行查询。一般来说工号是唯一的。身份证号可能会有重复。
我给你按你现在的格式写,你自己替换一下表名和表段。

select a.卡号,a.姓名,c.折扣 from A表 as a,B表 as b,C表 as c where b.工号='工号' and b.姓名=a.姓名 and b.工号=c.工号

这给出的只是一个思路流程。具体处理方法还要你仔细修改。我也是从新手过来的,问题处理的多了你自然也就有经验了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Harwise
2014-01-13 · TA获得超过2321个赞
知道小有建树答主
回答量:3299
采纳率:0%
帮助的人:1139万
展开全部
A left join B on 姓名=姓名 left join C on 工号=工号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你问我答老师
2014-01-13
知道答主
回答量:51
采纳率:0%
帮助的人:11.3万
展开全部
用left join 之类的联合起来查
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式