首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

一道题求教^解决思路

2012-03-06 
一道题求教^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AApplyIDDeviceIDDeviceNameDeviceNumDeviceNO-----------------

一道题求教^^^^^^^^^^^^^^^^^^^^^^^^^^^^

A
ApplyID         DeviceID         DeviceName           DeviceNum       DeviceNO
----------   -----------   ----------------------------------------
5443               6                       高端配置                 2                     AA0001,BB0001
5444               7                       高端配置                 3                     BB0002,CC0001,CC0002

B
DeviceNO                                                                                       DeviceName                      
--------------------------------------------------   ---------------------
AA0001                                                                                           高配置笔记本                  
AA0002                                                                                           低配置笔记本                  
BB0001                                                                                           高配置台式机                  
BB0002                                                                                           低配置台式机                  
CC0001                                                                                           彩色打印机                      
CC0002                                                                                           一般打印机



C
DeviceNO                             DeviceID         ApplyUseID     ApplyReturnID
------------                   -----------   -----------   -------------
AA0001                                           6                   5443                   null
BB0001                                         6                     5443                   null

BB0002                                           7                   5444                     null
CC0001                                           7                   5444                     null
CC0002                                           7                   5444                     null
将A表与B表有关联的数复制到C表中   结果如C表所示(注A表中DeviceNO字段不固定)



[解决办法]
Create Table A
(ApplyIDChar(4),
DeviceIDInt,
DeviceNameNvarchar(20),
DeviceNumInt,
DeviceNOVarchar(100))
Insert A Select '5443 ', 6, N '高端配置 ', 2, 'AA0001,BB0001 '
Union All Select '5444 ', 7, N '高端配置 ', 3, 'BB0002,CC0001,CC0002 '

Create Table B
(DeviceNOVarchar(20),
DeviceNameNvarchar(50))
Insert B Select 'AA0001 ', N '高配置笔记本 '
Union All Select 'AA0002 ', N '低配置笔记本 '
Union All Select 'BB0001 ', N '高配置台式机 '
Union All Select 'BB0002 ', N '低配置台式机 '
Union All Select 'CC0001 ', N '彩色打印机 '
Union All Select 'CC0002 ', N '一般打印机 '

Create Table C
(DeviceNOVarchar(20),
DeviceIDInt,
ApplyUseIDChar(4),
ApplyReturnIDVarchar(10))
GO
--插入
Insert C
Select
B.DeviceNO,
A.DeviceID,
A.ApplyID,
null As ApplyReturnID
From
A
Inner Join
B
On CharIndex(B.DeviceNO, A.DeviceNO) > 0

Select * From C
GO
Drop Table A, B, C
--Result
/*
DeviceNODeviceIDApplyUseIDApplyReturnID
AA000165443NULL
BB000165443NULL
BB000275444NULL
CC000175444NULL
CC000275444NULL


*/

热点排行