table1id color
1 blue
2 red
3 whitetable2
id size
1 20
2 21如何得到这样的结果blue20 red20 white20
blue21 red21 white21意思就是两个表的两个列的值所有的组合情况!
1 blue
2 red
3 whitetable2
id size
1 20
2 21如何得到这样的结果blue20 red20 white20
blue21 red21 white21意思就是两个表的两个列的值所有的组合情况!
select @sql='',@int=0select
@int=@int+1,
@sql=@sql+',[col'+rtrim(@int)+']='''+color+'''+rtrim(size)'
from
table1set @sql='select '+stuff(@sql,1,1,'')+' from table2'exec(@sql)
FROM
(
SELECT b.Size,a.Color,a.Color+b.Size as c
FROM tblB as b
CROSS JOIN tblA AS a
) AS p
PIVOT
(
max(c)
FOR color
IN ([blue],[red],[white])
) as pvt
(子陌红尘(retired))
你太强了,太谢谢你了。可是我没分了,呵呵