1表:
SELECT A.BF_DD AS 报废日期,C.MO_NO AS 制令单号,B.BF_NO AS 报废单号,B.PRD_NO AS 加工产品编号,B.QTY AS 报废数量,SUBSTRING(C.PRD_NAME,0,16)
AS 加工产品名称
FROM MF_BF A,TF_BF B,TF_GQ C
WHERE B.BF_NO=A.BF_NO
AND C.GQ_NO=B.BIL_NO
注:此表不包含表D,我查出7条记录
---------------------------
2表:
SELECT A.BF_DD AS 报废日期,C.MO_NO AS 原制令单号,B.BF_NO AS 报废单号,B.PRD_NO AS 加工产品编号,B.QTY AS 报废数量,SUBSTRING(C.PRD_NAME,0,16)
AS 加工产品名称,D.QTY as 重开数量 ,D.MO_NO AS 新制令单号,差异数量=B.QTY-D.QTY
FROM MF_BF A, TF_BF B,TF_GQ C, MF_MO D
WHERE B.BF_NO=A.BF_NO
AND C.GQ_NO=B.BIL_NO
AND D.MO_NO=A.BF_NO
此表加上表D:我查出一条记录。
注意:本表多了个条件:AND D.MO_NO=A.BF_NO
多了个表MF_MO
---------------------------
求语句:
要包含2表中所有字段,要包含表1中所有记录,要包含表2与表1某字段相同的记录
表1 字段1,字段2,字段3 7条记录
表2 字段1,字段2,字段3,字段4 一条记录
结果:
序 字段1 字段2 字段3 字段4
1 有 有 有
2 有 有 有
3 有 有 有
4 有 有 有
5 有 有 有 有
6 有 有 有
7 有 有 有
注:有表示有数据。
其中第五个有数据,是因为另一表多了“字段4”,且字段4SQL行业数据
SELECT A.BF_DD AS 报废日期,C.MO_NO AS 制令单号,B.BF_NO AS 报废单号,B.PRD_NO AS 加工产品编号,B.QTY AS 报废数量,SUBSTRING(C.PRD_NAME,0,16)
AS 加工产品名称
FROM MF_BF A,TF_BF B,TF_GQ C
WHERE B.BF_NO=A.BF_NO
AND C.GQ_NO=B.BIL_NO
注:此表不包含表D,我查出7条记录
---------------------------
2表:
SELECT A.BF_DD AS 报废日期,C.MO_NO AS 原制令单号,B.BF_NO AS 报废单号,B.PRD_NO AS 加工产品编号,B.QTY AS 报废数量,SUBSTRING(C.PRD_NAME,0,16)
AS 加工产品名称,D.QTY as 重开数量 ,D.MO_NO AS 新制令单号,差异数量=B.QTY-D.QTY
FROM MF_BF A, TF_BF B,TF_GQ C, MF_MO D
WHERE B.BF_NO=A.BF_NO
AND C.GQ_NO=B.BIL_NO
AND D.MO_NO=A.BF_NO
此表加上表D:我查出一条记录。
注意:本表多了个条件:AND D.MO_NO=A.BF_NO
多了个表MF_MO
---------------------------
求语句:
要包含2表中所有字段,要包含表1中所有记录,要包含表2与表1某字段相同的记录
表1 字段1,字段2,字段3 7条记录
表2 字段1,字段2,字段3,字段4 一条记录
结果:
序 字段1 字段2 字段3 字段4
1 有 有 有
2 有 有 有
3 有 有 有
4 有 有 有
5 有 有 有 有
6 有 有 有
7 有 有 有
注:有表示有数据。
其中第五个有数据,是因为另一表多了“字段4”,且字段4SQL行业数据
解决方案 »
- 字段长度不同的数据库可以合并吗?
- 求分组的最新的数据,如何求?
- 取左用什么函数?
- 如何将表中某个字段的值作为一个String输出。(多个结果)
- 帮忙,看看我的这个小脚本,哪里错了。。。55555555眼睛受不了了。
- 急,请各位高手们帮忙.
- sql server2005中如何建立了与excel文件的文件连接器
- 这句SQL该怎么写?
- pb8.0连接sqlserver 2005
- 急!查询数据时总是要弹出错误提示“provider: TCP Provider, error: 0 - 远程主机强迫关闭了一个现有的连接。”
- 怎么在SQL server 2012 登录时选择服务器类型为sql server compact
- 求一个合并的SQL
-------------------
SELECT *
FROM (
SELECT A.BF_DD AS 报废日期,C.MO_NO AS 原制令单号,B.BF_NO AS 报废单号,B.PRD_NO AS 加工产品编号,B.QTY AS 报废数量,SUBSTRING(C.PRD_NAME,0,16)
AS 加工产品名称,D.QTY as 重开数量 ,D.MO_NO AS 新制令单号,差异数量=B.QTY-D.QTY
FROM MF_BF A, TF_BF B,TF_GQ C, MF_MO D
WHERE B.BF_NO=A.BF_NO
AND C.GQ_NO=B.BIL_NO
AND D.MO_NO=A.BF_NO
)t1
WHERE EXISTS(SELECT 1 FROM
(SELECT A.BF_DD AS 报废日期,C.MO_NO AS 制令单号,B.BF_NO AS 报废单号,B.PRD_NO AS 加工产品编号,B.QTY AS 报废数量,SUBSTRING(C.PRD_NAME,0,16)
AS 加工产品名称
FROM MF_BF A,TF_BF B,TF_GQ C
WHERE B.BF_NO=A.BF_NO AND C.GQ_NO=B.BIL_NO
)t2
WHERE t1.报废日期=t2.报废日期 AND t1.原制令单号=t2.制令单号 AND t1.报废单号=t2.报废单号 AND t1.加工产品编号=t2.加工产品编号
AND t1.报废数量=t2.报废数量 AND t1.加工产品名称=t2.加工产品名称)
帮我分析下面语法。我写了这样一个语句,但报错,语法可能不对。
我要实现两个表合并,t1全部记录,t2包含T1条件的(WHERE t1.报废单号=t2.新制令单号)该怎么写。
多谢。
SELECT *
FROM (
SELECT A.BF_DD AS 报废日期,C.MO_NO AS 制令单号,B.BF_NO AS 报废单号,B.PRD_NO AS 加工产品编号,B.QTY AS 报废数量,SUBSTRING(C.PRD_NAME,0,16)
AS 加工产品名称
FROM MF_BF A,TF_BF B,TF_GQ C
WHERE B.BF_NO=A.BF_NO
AND C.GQ_NO=B.BIL_NO)t1( SELECT A.BF_DD AS 报废日期,C.MO_NO AS 原制令单号,B.BF_NO AS 报废单号,B.PRD_NO AS 加工产品编号,B.QTY AS 报废应补数量,SUBSTRING(C.PRD_NAME,0,16)
AS 加工产品名称,D.QTY as 实补数量 ,D.MO_NO AS 新制令单号,应补实补差异数量=B.QTY-D.QTY
FROM MF_BF A, TF_BF B,TF_GQ C, MF_MO D
WHERE (B.BF_NO=A.BF_NO
AND C.GQ_NO=B.BIL_NO
AND D.MO_NO=A.BF_NO))t2WHERE t1.报废单号=t2.新制令单号
FROM (
SELECT A.BF_DD AS 报废日期,C.MO_NO AS 制令单号,B.BF_NO AS 报废单号,B.PRD_NO AS 加工产品编号,B.QTY AS 报废数量,SUBSTRING(C.PRD_NAME,0,16)
AS 加工产品名称
FROM MF_BF A,TF_BF B,TF_GQ C
WHERE B.BF_NO=A.BF_NO
AND C.GQ_NO=B.BIL_NO)t1SELECT *
FROM (
SELECT A.BF_DD AS 报废日期,C.MO_NO AS 原制令单号,B.BF_NO AS 报废单号,B.PRD_NO AS 加工产品编号,B.QTY AS 报废应补数量,SUBSTRING(C.PRD_NAME,0,16)
AS 加工产品名称,D.QTY as 实补数量 ,D.MO_NO AS 新制令单号,应补实补差异数量=B.QTY-D.QTY
FROM MF_BF A, TF_BF B,TF_GQ C, MF_MO D
WHERE (B.BF_NO=A.BF_NO
AND C.GQ_NO=B.BIL_NO
AND D.MO_NO=A.BF_NO))t2WHERE T1.报废单号=T2.新制令单号说明:
T1是全部报废单,T2是对某些报废单进行处理的情况。
要求:要保留全部报废单记录,显示已处理报废单的情况,还余多少报废单没处理完。
比如:
t1 t2 条件
报废数量 处理数量 T1.报废单号=T2.新制令单号