SELECT 48 AS A ,'Q00001'AS B,'W1' AS C  INTO #TEMP1
UNION ALL
SELECT 49,'K00002','Q1'SELECT 50 AS A,'K00002' AS B,'Q1' AS C  INTO #TEMP2
UNION ALL
SELECT 49,'Q00001','W1'
UNION ALL
SELECT 48,'T00001','E3'从上面两个表看,#TEMP1,#TEMP2首先是根据#TEMP2的A列的值可以找到 #TEMP1,例: #TEMP2表的A列值48就能找到 #TEMP1表 SELECT 48 AS A ,'Q00001'AS B,'W1' AS C ,因为 #TEMP1表 SELECT 48 AS A ,'Q00001'AS B,'W1' AS C  ,B列的值和C列对应#TEMP2表的A SELECT 49,'Q00001','W1',而#TEMP2表的A列值49又能找到 #TEMP1表 SELECT 49,然后#TEMP1表 SELECT 49 AS A ,'K00002'AS B,'Q1' AS C  ,B列的值和C列对应#TEMP2表的A SELECT 50,'K00002','Q1',所以说,#TEMP2表的列表48,其实是包括了#TEMP2的48和49
最后显示结果要求是:SELECT 48 AS A,'T00001' AS B,'E3' AS C,48 AS ID UNION ALL
SELECT 49,'Q00001','W1',48 AS ID UNION ALL
SELECT 50,'K00002','Q1',48 AS ID不知道这样说,大家是否能明白我的需求呢??

解决方案 »

  1.   


    SELECT 48 AS A ,'Q00001'AS B,'W1' AS C  INTO #TEMP1
    UNION ALL
    SELECT 49,'K00002','Q1'SELECT 50 AS A,'K00002' AS B,'Q1' AS C  INTO #TEMP2
    UNION ALL
    SELECT 49,'Q00001','W1'
    UNION ALL
    SELECT 48,'T00001','E3'从上面两个表看,#TEMP1,#TEMP2首先是根据#TEMP2的A列的值找到 #TEMP1,例: #TEMP2表的A列值48就能找到 #TEMP1表 SELECT 48 AS A ,'Q00001'AS B,'W1' AS C ,因为 #TEMP1表 SELECT 48 AS A ,'Q00001'AS B,'W1' AS C  ,B列的值和C列对应#TEMP2表的A SELECT 49,'Q00001','W1',而#TEMP2表的A列值49又能找到 #TEMP1表 SELECT 49,然后#TEMP1表 SELECT 49 AS A ,'K00002'AS B,'Q1' AS C  ,B列的值和C列对应#TEMP2表的A SELECT 50,'K00002','Q1',所以说,#TEMP2表的列表48,其实是包括了#TEMP2的48和49
    最后显示结果要求是:SELECT 48 AS A,'T00001' AS B,'E3' AS C,48 AS ID UNION ALL
    SELECT 49,'Q00001','W1',48 AS ID UNION ALL
    SELECT 50,'K00002','Q1',48 AS ID
      

  2.   


    declare @i int
    set @i = 1while(@i<100)
    begin
      --你的代码
      set @i = @i +1
    end
      

  3.   

    ...while @@rowcount <> 0
    begin...
    end
    有一层的插入表,没有时自然会跳出来