这就是一个行转列的, 建议买一本《SQL Server 从入门到精通》看看。
搜索 sql server pivot 可以找到你要的答案。
PIVOT 我用过 pivot (sum(nums) for name in ('苹果' 苹果, '橘子', '葡萄', '芒果')) 这个in里面的值必须是写死的 也属于单表操作
@周黑鸭灬:
那个更简单了,
Select distinct name from tableA 这样就能得到所有的值,
然后你想办法把这些放到 in 里面去就行了。
@爱编程的大叔: 我查询出来的A表的name 放在in里面出不来结果 这个in指向的是B表的A_ID而不是A表的name
@周黑鸭灬: 不管A表还是B表,最终都是一个表。
你三个知识都会,要自己懂得把三个知识组合起来,而不是让别人帮你组合。
Select id, name, value from (select a.name, b. id,c, value from a, b ....) 这就变成一个新的表了
首先你设计的表就不合理B表没有主键 id 是重复的
B表是一个中间表 我设置一个唯一主键ID对我的要求也没有任何影响
pivot (sum(nums) for name in ('苹果', '橘子', '葡萄', '芒果'))
苹果,橘子之类的动态取,拼接成sql语句 exec执行
都没有人帮忙吗!!!大神们你们在哪
– 周黑鸭灬 6年前