php+mysql的三表联合查询语句问题……
PHP+MYSQL做的……数据库结构改不了了,需要增加新功能。数据库结构:A表:卡号,姓名,身份证号B表:工号,姓名,身份证号C表,卡号,工号,折扣解释:A表为账户表,包...
PHP+MYSQL做的……数据库结构改不了了,需要增加新功能。
数据库结构:
A表:卡号,姓名,身份证号
B表:工号,姓名,身份证号
C表,卡号,工号,折扣
解释:
A表为账户表,包含所有的优惠卡对应的用户姓名和身份证;
B表为员工表,表内均为员工的信息,客户的没有在里面;
C表为客户的卡号和对应的经办人的工号。
需求:
现在需要查询得出结果:已知一个员工的工号及身份证号,查询出该员工所持有的优惠卡及该员工售出的所有优惠卡,员工的折扣默认为不打折。
问题1:查询语句怎么写呢?需要高效一点的写法…大概5w的卡……不要太多select的
输出表结构:
卡号,姓名,折扣
问题2:所有的表内都不含员工自己的优惠卡的折扣,怎么php里处理值呢?
谢谢了! 展开
数据库结构:
A表:卡号,姓名,身份证号
B表:工号,姓名,身份证号
C表,卡号,工号,折扣
解释:
A表为账户表,包含所有的优惠卡对应的用户姓名和身份证;
B表为员工表,表内均为员工的信息,客户的没有在里面;
C表为客户的卡号和对应的经办人的工号。
需求:
现在需要查询得出结果:已知一个员工的工号及身份证号,查询出该员工所持有的优惠卡及该员工售出的所有优惠卡,员工的折扣默认为不打折。
问题1:查询语句怎么写呢?需要高效一点的写法…大概5w的卡……不要太多select的
输出表结构:
卡号,姓名,折扣
问题2:所有的表内都不含员工自己的优惠卡的折扣,怎么php里处理值呢?
谢谢了! 展开
展开全部
其实你这个查询只需要一个条件就可以了。推荐用工号进行查询。一般来说工号是唯一的。身份证号可能会有重复。
我给你按你现在的格式写,你自己替换一下表名和表段。
select a.卡号,a.姓名,c.折扣 from A表 as a,B表 as b,C表 as c where b.工号='工号' and b.姓名=a.姓名 and b.工号=c.工号
这给出的只是一个思路流程。具体处理方法还要你仔细修改。我也是从新手过来的,问题处理的多了你自然也就有经验了。
我给你按你现在的格式写,你自己替换一下表名和表段。
select a.卡号,a.姓名,c.折扣 from A表 as a,B表 as b,C表 as c where b.工号='工号' and b.姓名=a.姓名 and b.工号=c.工号
这给出的只是一个思路流程。具体处理方法还要你仔细修改。我也是从新手过来的,问题处理的多了你自然也就有经验了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A left join B on 姓名=姓名 left join C on 工号=工号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用left join 之类的联合起来查
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |