当前位置: 代码迷 >> Sql Server >> 多表关联操作语句,哪位高手帮忙看下啊
  详细解决方案

多表关联操作语句,哪位高手帮忙看下啊

热度:50   发布时间:2016-04-27 13:31:58.0
多表关联操作语句,谁帮忙看下啊啊
表:A:aid,name,t1,t2,type
  B:id,aid,name,content,type_one,type_two
  C:id,aid,content,type
第一列都是主键,没有外键关系

现在要把A中的(t1=1 and t2=2)的数据插入到C表,A.aid-->C.aid,A.type-->C.type(如果A.type=1那么C.type=‘类型1’,如果A.type=2那么C.type=‘类型2’),C.content比较烦。
假设几个变量a,b
a='<p>'+B.name+'</p>'+B.content (在B表中找aid=A.aid and type_one=1 and type_two=0 的数据,如果存在多条则取第一条,不存在则a值赋值空串)

b='<p>'+B.name+'</p>'+B.content (在B表中找aid=A.aid and type_one=0 and type_two=1 的数据,如果存在多条则按照前后顺序都追加到b中,不存在则b值赋值空串)

然后C.content=a+b

以上的SQL语句怎么写?求大神解答!
没表达清楚的话请海涵~~

------解决方案--------------------
描述的不清楚
------解决方案--------------------
楼主不如给出表结构、数据和想要的结果吧。
------解决方案--------------------
SQL code
建议你提供详细的资料:例如表的结构,表之间的关系,测试数据,相关算法及需要的结果。这样有助于我们理解你的意思,更主要的是能尽快让你获得答案或解决问题的方法。
------解决方案--------------------
是不是这样楼主
SQL code
IF OBJECT_ID('A') IS NOT NULL DROP TABLE AIF OBJECT_ID('B') IS NOT NULL DROP TABLE BIF OBJECT_ID('C') IS NOT NULL DROP TABLE CGOCREATE TABLE A (aid INT IDENTITY(1,1) ,NAME VARCHAR(10),t1 INT ,t2 INT ,[TYPE] INT)CREATE TABLE B (id INT IDENTITY(1,1),aid INT ,NAME VARCHAR(10),CONTENT VARCHAR(10),type_one INT,type_two INT)CREATE TABLE C (id INT IDENTITY(1,1),aid INT,CONTENT VARCHAR(max),[TYPE] VARCHAR(10))INSERT INTO A SELECT 'A1',1,2,1 UNION ALLSELECT 'A2',1,2,3goINSERT INTO BSELECT 1,'B1','B.Content1',1,0 UNION ALLSELECT 2,'B2','B.Content2',0,1DECLARE @a VARCHAR(max)DECLARE @b VARCHAR(max)SET @a='';SET @b='';SELECT TOP 1 @a='<p>'+ISNULL(B.NAME,'')+'</p>'+ISNULL(B.CONTENT,'') FROM B  WHERE EXISTS(SELECT 1 FROM A WHERE a.aid=b.aid) AND type_one=1 AND type_two=0SELECT  @[email protected]+'<p>'+ISNULL(B.NAME,'')+'</p>'+ISNULL(B.CONTENT,'') FROM B WHERE EXISTS(SELECT 1 FROM A WHERE a.aid=b.aid) AND type_one=0 AND type_two=1INSERT INTO C (aid,content,[type]) SELECT aid,[email protected][email protected],(CASE WHEN [type]=1 THEN '类型1' ELSE '类型2' END) AS [TYPE] FROM A WHERE t1=1 AND t2=2 SELECT * FROM C /* id          aid         CONTENT                                      type                                                                                                                                                                                                                    TYPE----------- ----------- ----------------------------------------- ----------1           1           <p>B1</p>B.Content1<p>B2</p>B.Content2       类型1                                                                                                                                                                                                                    类型12           2           <p>B1</p>B.Content1<p>B2</p>B.Content2       类型2 */
  相关解决方案