关于sql查询语句的问题
我是个新手,有个问题让我很困惑,所以发到这里来,希望有高手能给解答下。我是做的两张表,一张叫科目表,一张是科目的学期数表,没有对两张表加任何约束和关系。表的情况如下:
一,表名:subject
第一列,字段名:id,int型(标识列)
第二列,字段名:name,nverchar型
二,表名:term
第一列,字段名:id,int型(不是标识列)
第二列,字段名:number,int型
以上就是表的情况,现在我干的是,我先删除两张表的所有内容,然后先往科目表里插入记录,然后再将科目表里的id取出后再和学期数即number一起插入到term表中,我写的查询语句如下:
语句1:
delete from subject
delete from term
语句2:
inert subject
select 'java' union
select 'hetml' union
select 'sql'
语句3:
insert term ([id], number)
select top 1 [id], 123 from (select top 1 [id] from subject) as s order by [id] desc union
select top 1 [id], 123 from (select top 2 [id] from subject) as s order by [id] desc union
select top 1 [id], 23 from (select top 3 [id] from subject) as s order by [id] desc
现在是我执行select top 1 [id], 123 from (select top 1 [id] from subject) as s order by [id] desc这单条语句倒是能成功,结果就2列,一行数据。但执行语句3的时候就通不过了,报的是union附近有语法错误。
这个问题我就一直没明白,希望高手们能给指点指点,谢谢!!