select *
INTO #T
from EA01_1978INSERT INTO #T
exec zjsj '10901'SELECT DISTINCT *
FROM #T
INTO #T
from EA01_1978INSERT INTO #T
exec zjsj '10901'SELECT DISTINCT *
FROM #T
解决方案 »
- java中把SQL数据库中的表导出到excel中.怎么实现
- 一个菜鸟问题:字符串前面的N有什么意义??
- 是不是SQL不要使用where abc<>''
- 遇到一个关于SQL2008奇怪的问题,大家帮帮忙啊!!!
- 一个排序的问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- MySql一个导入数据的问题,急求
- 这个sql如何写?
- 如何在查询中添加一序号列?
- 我用odbc api 操作数据库的时候 执行语句经常超时然后卡住不动了 如何设置超时时间?
- 奇怪的错误.在NEW table or design table or open table 时
- 你一定知道sql server 2008 数据库镜像1418错误怎么解决。。。
- 请问用什么软件能打开sdf后缀的文件,谢谢!
drop table #tempselect * into #temp
frm EA01_1978
where 1=0insert into #temp
exec zjsj '10901'select * from EA01_1978
union
select * from #temp
而且这个语句查询出来的时候,显示的时候,只显示第一条查询查询出来的语句
所以在写的时候不能添加 1 = 2类似的不成立条件,因为查询语句不成立只是查询不出值,而不是不执行,所以在程序显示的时候,就会是空值所以,二位的回答,无法解决我的问题,而且二位说的我也会,临时表要是能够在select * from EA01_1978之前生成就不会苦恼啦,哎
还是多谢二位,看看有么有哪位大神能解决我的问题
union
exec zjsj '10901'那怎么实现你的需求呢,存储过程的结果,是不能直接union的呢
returns @result table (value int)
as
begin
declare @v as nvarchar(MAX);
while charindex(@delimiter,@values) <> 0
begin
set @v = substring(@values,1,charindex(@delimiter,@values)-1);
if isnumeric(@v)=1
insert into @result
values(@v);
set @values = substring(@values,charindex(@delimiter,@values)+1,len(@values));
endif isnumeric(@values)=1
insert into @result
values(@values);
return;
end
应用:declare @tmp table
(
value int
)insert into @tmp values (10);select * from @tmp
union
select * from ListToInt('1,2,3',',') 返回:1 row(s) affected)
value
-----------
1
2
3
10(4 row(s) affected)
union
exec zjsj '10901'那怎么实现你的需求呢,存储过程的结果,是不能直接union的呢嗯,这个我知道,所以正在求救呢嘛
是啊,要是能改源代码,我直接就一个sql语句搞定啦,何必还这么麻烦了
现在都没辙啦
是啊,要是能改源代码,我直接就一个sql语句搞定啦,何必还这么麻烦了
现在都没辙啦不是,我先不太明白。是哪些能修改,哪些不能修改?
是啊,要是能改源代码,我直接就一个sql语句搞定啦,何必还这么麻烦了
现在都没辙啦不是,我先不太明白。是哪些能修改,哪些不能修改?
哦,是select * from EA01_1978这个不能修改,而且必定是在第一行
是啊,要是能改源代码,我直接就一个sql语句搞定啦,何必还这么麻烦了
现在都没辙啦不是,我先不太明白。是哪些能修改,哪些不能修改?
哦,是select * from EA01_1978这个不能修改,而且必定是在第一行你的意思是只能修改后面的union exec xxx 这个?
是啊,要是能改源代码,我直接就一个sql语句搞定啦,何必还这么麻烦了
现在都没辙啦不是,我先不太明白。是哪些能修改,哪些不能修改?
哦,是select * from EA01_1978这个不能修改,而且必定是在第一行你的意思是只能修改后面的union exec xxx 这个?是的,先前楼上有说用函数的,但是用函数就不太明白怎么用
你有没有什么好的解决方法
是啊,要是能改源代码,我直接就一个sql语句搞定啦,何必还这么麻烦了
现在都没辙啦不是,我先不太明白。是哪些能修改,哪些不能修改?
哦,是select * from EA01_1978这个不能修改,而且必定是在第一行你的意思是只能修改后面的union exec xxx 这个?是的,先前楼上有说用函数的,但是用函数就不太明白怎么用
你有没有什么好的解决方法
其实就是,把你那个存储过程 zjsj修改成函数就行。
但是没有回我,结果还是你接着给我回答的了哎,像我这种小菜鸟,还是sql研究的不深啊
帖子暂时不结,看看还有没有新一点的回答解决我的问题
麻烦各位高高手帮忙想想呢,多谢各位,预祝各位新春快乐大年30前结贴吧
1、在第一行代码之前把你的存储过程中所需要的结果全部select into 表EA01_1978;注意消除重复项。
2、表a是不是表b的子集?表EA01_1978是不是表a与表b的子集。从他们的关系入手看看有没有办法。
不妨把 EA01_1978 表名改掉,用同名的视图代替行不?
如果开发的后台管理是网页版的话,应该可以想办法绕过去,这需要看看从前台提交到后台的时候是不是整句提交的(也即提交的内容是否包含了select * from ea01_1978 前面这部分文字),如果是,那就想办法改网页代码,在提交前换成你想要的select * from ea01_1978 union select * from a之类的了,如果不是,修改提交内容为union后面的select * from a之类的部分看看行不行。
如果开发的后台管理是网页版的话,应该可以想办法绕过去,这需要看看从前台提交到后台的时候是不是整句提交的(也即提交的内容是否包含了select * from ea01_1978 前面这部分文字),如果是,那就想办法改网页代码,在提交前换成你想要的select * from ea01_1978 union select * from a之类的了,如果不是,修改提交内容为union后面的select * from a之类的部分看看行不行。
属于客户端程序,不属于网页的请求响应再返回,语言是delphi