select * from table1 as A
left join table2 as B on A.id = B.id
left join table3 as C on A.id2 = C.id2
left join table2 as B on A.id = B.id
left join table3 as C on A.id2 = C.id2
解决方案 »
- Delete大量数据后SQL Server性能下降
- 请问如何写这个SQL语句?
- 菜鸟提问!!!奇怪了,为什么这个公式算出来老是0.00啊??
- 为什么网站调用sql时出现这种问题!高手帮忙....
- 如何把两张相同结构的表相加
- SQL语句,还是一个ABC,分析报表,怎么写
- 如何把兩個日期時間各取一部分組合起來
- 求助:这样的SQL查询的存储过程怎么写啊?我已经缴枪了
- 在WINDOWS2000下用ODBC连不上SQL SERVER 6.5和乱码问题
- 如何在一个tsql脚本中执行另一个脚本
- 如何把一个表的数据插入到另一个表!急!在线等!谢谢!
- 我的SQL SERVER 2000,卸载一次以后装不上了,HELP!
是不是这样的问题
right join table2 as B on A.id = B.id
right join table3 as C on A.id2 = C.id2--右外连接
-----------------------------------------
select * from table1 as A
full join table2 as B on A.id = B.id
full join table3 as C on A.id2 = C.id2 全外连接
批号,
期初库存.件数 as 期初件数,
进仓.件数 as 进仓件数,
出仓.件数 as 出仓件数,
期初库存.件数+进仓.件数-出仓.件数 as 期末件数 这就需要将三个表通过产品编号,批号两两“全”连接,只要任一表存在记录,都要出现在新表中,如何实现?
SELECT
产品编号,
批号,
期初库存.件数 as 期初件数,
进仓.件数 as 进仓件数,
出仓.件数 as 出仓件数,
期初库存.件数+进仓.件数-出仓.件数 as 期末件数
FROM 进仓表 I FULL JOIN 出仓表 O ON I.产品编号=O.产品编号 AND I.批号=O.批号
FULL JOIN 期初库存表 T ON I.产品编号=T.产品编号 AND I.批号=T.批号
select distinct 产品编号,批号
(
select 产品编号,批号 from union all
进仓表
select 产品编号,批号 from union all
出仓表
select 产品编号,批号 from union all
和期初库存表)
去left oute join 另外三张表
对于产品编号和批号可以用COALESCE函数取三个表的一个值To welyngj
我试过,但总出现有一个表的记录不能包含新表其中。具体忘了是哪个表
A.PRID,
A.PIID,
0 + (CASE WHEN B.PCOUNT > 0 THEN B.PCOUNT ELSE 0 END) + (CASE WHEN C.PCOUNT > 0 THEN C.PCOUNT ELSE 0 END) - (CASE WHEN D.PCOUNT > 0 THEN D.PCOUNT ELSE 0 END) PCOUNT
FROM
(
SELECT
PRID,
PIID
FROM
WH
UNION
SELECT
PRID,
PIID
FROM
WIN
UNION
SELECT
PRID,
PIID
FROM
WOUT
) AS A
LEFT JOIN
WH B
ON A.PRID = B.PRID
AND A.PIID = B.PIID
LEFT JOIN
WIN C
ON A.PRID = C.PRID
AND A.PIID = C.PIID
LEFT JOIN
WOUT D
ON A.PRID = D.PRID
AND A.PIID = D.PIID
表结构
在库WH,出库WOUT,入库WIN都一样
PRID产品编号
PIID产品批号
PCOUNT个数
from
(
select 产品编号,批号 from union
进仓表
select 产品编号,批号 from union
出仓表
select 产品编号,批号 from union
期初库存表
) aa
left join ...另外三张表