0

我在sql中有一个这样的表

  ID  NAME  SIZE  GROUP1  GROUP2   SIZE2
   1   casa   xl    1        2        
   2   casa    l    1        2

我想要一张这样的桌子

     ID  NAME  SIZE  GROUP1  GROUP2   SIZE2
     1   casa   xl    1        2         l
     2   casa    l    1        2         xl  

所以 GROUP1 和 GROUP2 的值识别具有相似名称但大小值不同的 id 我可以做什么?

4

1 回答 1

0

再次加入同一张表,id与记录本身不同:

select
  t.ID, t.NAME, t.SIZE, t.GROUP1, t.GROUP2, t2.SIZE
from
  TheTable t
  inner join TheTable t2 on t2.ID = case t.GROUP1 when t.ID then t.GROUP2 else t.GROUP1 end

从 table1 中选择并将其插入 table2:

insert into table2
select
  t.ID, t.NAME, t.SIZE, t.GROUP1, t.GROUP2, t2.SIZE
from
  table1 t
  inner join table1 t2 on t2.ID = case t.GROUP1 when t.ID then t.GROUP2 else t.GROUP1 end
于 2013-04-06T11:50:46.507 回答