易截截图软件、单文件、免安装、纯绿色、仅160KB

求一SQL语句 - MS-SQL Server / 疑难问题

产品运输
产地 产品 数量
1 1 1
1 2 3
1 3 34
2 1 0
2 4 1
3 5 8
4 2 9

产品组
产品A 产品B
1 2
3 5

结果表记录:
产地 产品A 产品A数量 产品B 产品B数量
1 1 1 2 3
1 3 34
2 1 0 
3 5 8
4 2 9
暂时想到的SQL语句:
select case when AA.[产地] is null then BB.[产地] else AA.[产地] end as [产地],
AA.[产品] as [产品A],AA.[数量] as [产品A数量],
BB.[产品] as [产品B],BB.[数量] as [产品B数量]
from
(
select * from [产品运输] a
join [产品组] b on a.[产品] = b.[产品A]
) AA
full outer join
(
select * from [产品运输] a
join [产品组] b on a.[产品] = b.[产品B]
) BB
on AA.[产地] = BB.[产地] and AA.[产品B] =BB.[产品B]

求其他相关性能更好点的写法



你的结果看不太懂,说明一下.

结果表记录:
产地 产品A 产品A数量 产品B 产品B数量
1 1 1 2 3
1 3 34 空 空
2 1 0  
3 空 空 5 8
4 空 空 2 9

CSDN的排版问题将我的空格去除了。


先顶再看


full join的话要去取【产品运输】表两次,由于【产品运输】表数据量极大,所以想求解更好点的写法。
select * from [产品运输] a join [产品组] b on a.[产品] = b.[产品A] or a.[产品] = b.[产品B] 我想从这结果集中再写相关SQL求解不


相关问答:

数据以xml格式返回 - MS-SQL Server / 应用实例

从数据库中查询一张表的数据
select 部门,姓名 from tb
如何才能生成下面的xml格式
XML code:
<folder state="unchecked" label="全部">
   <folder state="unchecked&qu ......

求一SQL - MS-SQL Server / 基础类

tab1 字段:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 字段:goodsid,goodskind(商品类型)
tab3 字段:goodskind(商品类型),kindname
结果:
得到商品类型在一段时间 ......

求一SQL写法 - MS-SQL Server / 基础类

id                           url                   rank     ......

sql 问题 - MS-SQL Server / 基础类

需求如下:
学院 academy(aid,aname)
班级 class(cid,cname,aid)
学生 stu(sid,sname,aid,cid)
住宿区 region(rid,rname)
宿舍楼 build(bid,rid,bnote) bnote是‘男’/‘女’
宿舍 dorm(did,rid,bid,bedn ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号