这个查询怎么写?
时间:2011-12-02
来源:互联网
已知tabe1:
订单编号 款号 颜色 尺码 数量
--------------------------------------------------------------------------
JHDD-2011-12-02-00002 699 米色 L 1.00000000
JHDD-2011-12-02-00002 699 米色 M 2.00000000
JHDD-2011-12-02-00002 699 米色 XL 15.00000000
已知tabel2:
款号 颜色 尺码
----------- --------------------------
699 米色 L
699 米色 M
699 米色 XL
699 米色 XXL
如何上面两个表,如何通过SQL查询得出
订单编号 款号 颜色 尺码 数量
--------------------------------------------------------------------------
JHDD-2011-12-02-00002 699 米色 L 1.00000000
JHDD-2011-12-02-00002 699 米色 M 2.00000000
JHDD-2011-12-02-00002 699 米色 XL 15.00000000
JHDD-2011-12-02-00002 699 米色 XXL NULL
订单编号 款号 颜色 尺码 数量
--------------------------------------------------------------------------
JHDD-2011-12-02-00002 699 米色 L 1.00000000
JHDD-2011-12-02-00002 699 米色 M 2.00000000
JHDD-2011-12-02-00002 699 米色 XL 15.00000000
已知tabel2:
款号 颜色 尺码
----------- --------------------------
699 米色 L
699 米色 M
699 米色 XL
699 米色 XXL
如何上面两个表,如何通过SQL查询得出
订单编号 款号 颜色 尺码 数量
--------------------------------------------------------------------------
JHDD-2011-12-02-00002 699 米色 L 1.00000000
JHDD-2011-12-02-00002 699 米色 M 2.00000000
JHDD-2011-12-02-00002 699 米色 XL 15.00000000
JHDD-2011-12-02-00002 699 米色 XXL NULL
作者: SKY1006 发布时间: 2011-12-02
SQL code
use Tempdb go --> --> if not object_id(N'Tempdb..#T1') is null drop table #T1 Go Create table #T1([订单编号] nvarchar(21),[款号] int,[颜色] nvarchar(2),[尺码] nvarchar(2),[数量] decimal(18,8)) Insert #T1 select N'JHDD-2011-12-02-00002',699,N'米色',N'L',1.00000000 union all select N'JHDD-2011-12-02-00002',699,N'米色',N'M',2.00000000 union all select N'JHDD-2011-12-02-00002',699,N'米色',N'XL',15.00000000 Go if not object_id(N'Tempdb..#T2') is null drop table #T2 Go Create table #T2([款号] int,[颜色] nvarchar(2),[尺码] nvarchar(3)) Insert #T2 select 699,N'米色',N'L' union all select 699,N'米色',N'M' union all select 699,N'米色',N'XL' union all select 699,N'米色',N'XXL' Go SELECT a.*, b.[数量] FROM (Select b.*,a.* from #T2 AS a,(SELECT DISTINCT [订单编号] FROM #T1) b) AS a LEFT JOIN #T1 AS b ON a.[订单编号]=b.[订单编号] AND a.[款号]=b.[款号] AND a.[颜色]=b.[颜色] AND a.[尺码]=b.[尺码] /* 订单编号 款号 颜色 尺码 数量 JHDD-2011-12-02-00002 699 米色 L 1.00000000 JHDD-2011-12-02-00002 699 米色 M 2.00000000 JHDD-2011-12-02-00002 699 米色 XL 15.00000000 JHDD-2011-12-02-00002 699 米色 XXL NULL */
作者: roy_88 发布时间: 2011-12-02
SQL code
select a.*,b.数量 from (select * from table2 a cross join(select distinct 订单编号 from table1)b)a left join table1 b on a.订单编号=b.订单编号
作者: fredrickhu 发布时间: 2011-12-02
1楼,2楼都对,帮你顶
作者: bushy 发布时间: 2011-12-02
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28