当前位置: 代码迷 >> Sql Server >> SQL如何连接两个表,以一第三个表的标准
  详细解决方案

SQL如何连接两个表,以一第三个表的标准

热度:6   发布时间:2016-04-24 23:16:25.0
【求助】SQL怎么连接两个表,以一第三个表的标准
要想有表A、B、C、生成如下D表:
也就是A表和B表连接,其中A表的规格对应B表的颜色,匹配标准在C表:
   表:D
规格 数量    规格            材料名称 单位 数量
黑色 2465    黑底黑珠 AB珠长条 双 531.00
兰色 4020    兰底兰珠 AB珠长条 双 1830.00
黄色 2120    米底金香槟珠 AB珠长条 双 1654.00
米色 7735    米底银香槟珠 AB珠长条 双 3415.00
桔色 2370    桔红底桔红珠 AB珠长条 双 963.00
兰色 4020    兰底兰珠 AB珠长条 双 1283.50
桔色 2370    桔红底桔红珠 AB珠长条 双 434.50
黑色 2465    黑底黑珠 AB珠长条 双 1285.00



以下为源有的三个表:
   表:A
规格         材料名称 单位 数量123
黑底黑珠 AB珠长条 双 531.00
兰底兰珠 AB珠长条 双 1830.00
米底金香槟珠 AB珠长条 双 1654.00
米底银香槟珠 AB珠长条 双 3415.00
桔红底桔红珠 AB珠长条 双 963.00
兰底兰珠 AB珠长条 双 1283.50
桔红底桔红珠 AB珠长条 双 434.50
黑底黑珠 AB珠长条 双 1285.00

   
   表:B
型号                    颜色    数量
2132-812 黑色 2465
2132-812 黄色 2120
2132-812 桔色 2370
2132-812 兰色 4020
2132-812 米色 7735


   表:C
颜色 规格           名称
黑色 黑底黑珠 AB珠长条
兰色         兰底兰珠 AB珠长条
黄色 米底金香槟珠 AB珠长条
米色 米底银香槟珠 AB珠长条
桔色 桔红底桔红珠 AB珠长条

------解决方案--------------------
insert d(颜色,数量,规格,材料名称,单位,数量123)
select b.颜色,b.数量,a.规格,a,材料名称,a.单位,a.数量123
from a,b,c
where a.规格 = c.规格
and a.材料名称 = c.名称
and b.颜色 = c.颜色
------解决方案--------------------

select b.颜色,b.数量,a.规格,a,材料名称,a.单位,a.数量123
from a join c
on a.规格 = c.规格
join b 
on
 b.颜色 = c.颜色 

------解决方案--------------------
select b.颜色,b.数量,a.规格,a,材料名称,a.单位,a.数量123
from a join c on a.规格 = c.规格 join b on  b.颜色 = c.颜色 
  相关解决方案