简单的sql问题
姓名 学科
a 语文
a 数学
b 英语
b 政治
我想得到 a 语文,数学
b 英语,政治
请问怎么写sql语句
select * from table where '姓名'='a';
不是这个 我这要显示所有 而不是根据条件来的
行专列的问题
http://blog.csdn.net/zhanyong168/archive/2009/01/08/3735969.aspx
参考下上面的
显示所有是什么意思啊。select * from table就所有啊。
需要用到行列转换了。建议参考博客:http://blog.csdn.net/chenjianyong94/archive/2009/05/06/4155420.aspx
看不出根据什么规律
sql server 版本区有人问过这样的问题,但是答案忘记了,好像不是很复杂,那个是用2005写的
查询出来把字符串加上,
顶一个
谢谢大家的回答 不过希望能得到sql而不是链接
SQL code:
SELECT [姓名],[学科]=CAST([学科] as nvarchar(100))
INTO #t from #test
ORDER BY [姓名],[学科]
DECLARE @col1 varchar,@col2 nvarchar(100)
UPDATE #t SET
@col2=CASE WHEN @col1=[姓名] THEN @col2+','+[学科] ELSE [学科] END,
@col1=[姓名],
[学科]=@col2
SELECT [姓名],[学科]=MAX([学科]) from #t GROUP BY [姓名]
忘了说了,#test就相当于你的表,没写建表语句
SQL c
相关问答:
我是这样写的
select top 5 * from city where id not in(select top (5*"&page-1&") id from city) ..
很失败的 还要先判断是不是第一页 然后选择性执行 sql .. 写着写着我 ......
错误信息:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC SQL Server Driver][Shared Memory]无效的连接。
/bbsxp/test.asp, 第 24 行
机器配置:xp sp3 ,SQL 2005(vs ......
现有表 Term
结构如下
time1 time2 idterm
2009-2-15 2009-6-30 11
2009-9-10 2010-1-15 12
如果输入 2009-4-25 则应该取出idterm 11
如果输入 2009-12-5 则应该取出idterm 12
......
怎么使我每次不是更新数据库
而是覆盖上次的所有记录呢!
因为有时候时间条件不同
SQL code:
select * from hwouttb where
CAST(REPLACE(REPLACE(REPLACE(outdate,'年','-' ),'月','-'),'日','') AS ......
有两个表。分别都有ID主键。A表的ID和B表的ID是对应的,就是A表几个ID,B表就几个ID。A表的ID是什么,B表的ID就是什么。
可是现在A表的ID比B表的多了。
我现在想要把B表中少的部分给补齐了。这个插入应该怎么写 ......