共有四张表 其中表A订单表 aid ,bid, ordermoney,表B教师 bid,cid,表C用户 cid, cname,表D结算表 aid ,cname ,accontmoney
通过表A.bid=表B.bid 可以查询该教师的订单
通过表B.bid=表C.bid 可以查询表C用户的cname
通过表A.aid=表D.aid可以知道该订单是否在结算表中完成
现在从前台传来参数cname 要通过where条件 表C的cname= ?
去查询 表A的总数,已完结的订单数,已完结的总金额,未完结的订单数,未完结的总金额,结算总金额,用户名 这7个字段的数据
请教一下个各位帅到无边的大神们如何写这一个SQL,能帮忙写一下大概吗
我自己写的是类似这种形式 :select (select count(*) from 表A),(select count(*) from 表B) from 表A 但是这样的话 好像思路不对哦 。
通过表A.bid=表B.bid 可以查询该教师的订单
通过表B.bid=表C.bid 可以查询表C用户的cname
通过表A.aid=表D.aid可以知道该订单是否在结算表中完成
现在从前台传来参数cname 要通过where条件 表C的cname= ?
去查询 表A的总数,已完结的订单数,已完结的总金额,未完结的订单数,未完结的总金额,结算总金额,用户名 这7个字段的数据
请教一下个各位帅到无边的大神们如何写这一个SQL,能帮忙写一下大概吗
我自己写的是类似这种形式 :select (select count(*) from 表A),(select count(*) from 表B) from 表A 但是这样的话 好像思路不对哦 。
解决方案 »
- 100高分求sql
- 升级到了PHP5.3.10和MySQL5.1.61,数据库查询总有两稍迟钝
- 如何把记录中含有&..&中的文本提取并用逗号分隔返回呢?
- mysql存储过程 送分了。
- 请问:table1表中的number记录了table2中的记录数,当table2加删记录时, 怎样用SQL语句更新这个number
- 请教,我在WINDOWS下使用备份数据库总出错误!!
- 今天玩了一下postgresql8.0beta for windows,感觉还可以哦
- Lost Connections to MYSQL server during query
- 日期比较问题。
- 初学MySql关于其启动问题
- 求助一个关于select语句检索的问题
- MS sql查询语句转换成mysql的查询语句
参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
select aid ,count(1) as 总数,(select count(1) from 表D where aid = t.aid) from 表A join (
select top 1 aid from 表C join 表B
on 表B.bid join 表A
on 表A.bid=表B.bid where cname='传过来的值') t on t.aid =表A .aid
group by aid