关于子查询的问题.....online等待 select A.a, (select B.b from B c where B.flg = '1' and b.id=c.id ) as bb from A,B where a.id=b.id 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select A.a, (select max(B.b) from B c where B.flg = '1' and b.id=c.id ) as bb from A,B where a.id=b.id 现在我把精简的sql写给大家表:jygxc_d 列xh(主),jydm(外键,来自jydm.jydm),ly,f_xh(外键,来自 jygxc_m.xh),qckc,gjhjjygxc_m 列xh(主),gsdmjydm(此处未用) 列jydm(主)SELECT DISTINCT jygxc_d.jydm, qckc, sum( jygxc_d.gjhj) as gjhj,FROM jygxc_d,jygxc_m WHERE ( jydm.jydm = jygxc_d.jydm )and ( jygxc_m.xh = jygxc_d.f_xh ) and (jygxc_m.gsdm = '001') AND (jygxc_d.ly >= '200201') AND (jygxc_d.ly <= '200203') and qckc in( SELECT jygxc_d.qckc FROM jygxc_d,jygxc_m WHERE (jygxc_m.xh = jygxc_d.f_xh ) and ( jygxc_m.gsdm = '001' ) AND (jygxc_d.ly = '200201') )GROUP BY jygxc_d.jydm,jygxc_d.qckc;理想运行结果如下jydm qckc gjhj01 1(此处为1月份的qckc) 2(此处为1到3月份的gjhj合计)02 2(此处为1月份的qckc) 2(此处为1到3月份的gjhj合计)03 3(此处为1月份的qckc) 2(此处为1到3月份的gjhj合计)..............................行数为jydm表的行数(就是列jydm不会重复)实际运行结果为jydm qckc gjhj01 1(此处为1月份的qckc) 2(此处为1到3月份的gjhj合计)01 2(此处为2月份的qckc) 2(此处为1到3月份的gjhj合计)02 2(此处为1月份的qckc) 2(此处为1到3月份的gjhj合计)03 3(此处为1月份的qckc) 2(此处为1到3月份的gjhj合计)原因: 二月份的jydm = 01 的qckc 同一月份的jydm = 02 的qckc 相等!!怎么解决? jygxc_d表: Xh Numeric(12) 主键 F_xh Numeric(12) 外键 Jygxc_m.xh Jydm Varhcar(20) 外键 Jydm.jydm ly Char(6) Xshj Decimal(12,2) jygxc_m表: Xh Numeric(12) 主键 Gsdm varchar(20) Ly Char(6) jydm表 Jydm Varchar(20) 主键 dcswbz Char(1) Wzsx Numeric(4) 存储过程的返回值问题 在SQLServer2000中存储图文都有的内容,应该用什么字段? sql里能同时用内连接和左连接吗? 同台电脑先安装SQL2005,后安装SQL2000,想卸载SQL2000 弄两天了,数据库安装问题,急 关于拼凑的字符串转换为日期的问题 数据导入导出问题. 有谁遇见过这样的问题??我装了一天了~~:( 在同一数据库服务器上,如何实现同步的问题,请进。。 JOIN后面能不能连接一个 SELECT 语句 请问如何得到一个表的键的详细信息? 请问如何在VC下对存储过程进行单步跟踪?
(select max(B.b) from B c where B.flg = '1' and b.id=c.id ) as bb
from A,B where a.id=b.id
表:
jygxc_d 列xh(主),jydm(外键,来自jydm.jydm),ly,f_xh(外键,来自 jygxc_m.xh),qckc,gjhjjygxc_m 列xh(主),gsdmjydm(此处未用) 列jydm(主)SELECT DISTINCT jygxc_d.jydm,
qckc,
sum( jygxc_d.gjhj) as gjhj,
FROM jygxc_d,jygxc_m
WHERE ( jydm.jydm = jygxc_d.jydm )and
( jygxc_m.xh = jygxc_d.f_xh ) and
(jygxc_m.gsdm = '001') AND
(jygxc_d.ly >= '200201') AND
(jygxc_d.ly <= '200203') and
qckc in(
SELECT jygxc_d.qckc
FROM jygxc_d,jygxc_m
WHERE (jygxc_m.xh = jygxc_d.f_xh ) and
( jygxc_m.gsdm = '001' ) AND
(jygxc_d.ly = '200201')
)
GROUP BY jygxc_d.jydm,jygxc_d.qckc;理想运行结果如下
jydm qckc gjhj
01 1(此处为1月份的qckc) 2(此处为1到3月份的gjhj合计)
02 2(此处为1月份的qckc) 2(此处为1到3月份的gjhj合计)
03 3(此处为1月份的qckc) 2(此处为1到3月份的gjhj合计)..............................行数为jydm表的行数(就是列jydm不会重复)实际运行结果为
jydm qckc gjhj
01 1(此处为1月份的qckc) 2(此处为1到3月份的gjhj合计)
01 2(此处为2月份的qckc) 2(此处为1到3月份的gjhj合计)
02 2(此处为1月份的qckc) 2(此处为1到3月份的gjhj合计)
03 3(此处为1月份的qckc) 2(此处为1到3月份的gjhj合计)原因:
二月份的jydm = 01 的qckc 同一月份的jydm = 02 的qckc 相等!!怎么解决?
Xh Numeric(12) 主键
F_xh Numeric(12) 外键 Jygxc_m.xh
Jydm Varhcar(20) 外键 Jydm.jydm
ly Char(6)
Xshj Decimal(12,2)
jygxc_m表:
Xh Numeric(12) 主键
Gsdm varchar(20)
Ly Char(6)
jydm表
Jydm Varchar(20) 主键
dcswbz Char(1)
Wzsx Numeric(4)