求命!!!极难的SQL

明后天会更好 2004-07-15 01:27:07
表1
有字段和值依次是
DisplayStr,FieldType,FieldSize(类型全是nvarchar(200)
1,字符型,200
2,数值型,10
表2字段如下
1,2
aaa,111
Null,222
bbbb,Null
就是说表1中值是表2的字段统计表2字段有值多个没值的多少要求结果
DisplayStr,FieldType,FieldSize,CountNull,CountNotNull
1,字符型,200,1,2
2,数值型,10,1,2
我用过临时表几乎我都用了,就差怎么得到sp_executesql的返回值了
...全文
172 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyzhdxx 2004-07-16
  • 打赏
  • 举报
回复
"就是说表1中值是表2的字段统计表2字段有值多个没值的多少要求结果"
真的是很难明白!清楚点行么??

明后天会更好 2004-07-16
  • 打赏
  • 举报
回复
谢谢楼上的思路,我已经想出来怎么做
zheninchangjiang 2004-07-15
  • 打赏
  • 举报
回复
大致猜明白,
我想:count(*)-count(fieldname)=countnull
count(fieldname)=countnotnull
可以用游标试试
WangZWang 2004-07-15
  • 打赏
  • 举报
回复
UP
FlyNesta 2004-07-15
  • 打赏
  • 举报
回复
晕死,搂住好节省标点符号~~~
hejianling305 2004-07-15
  • 打赏
  • 举报
回复
不懂你的意思。我帮你顶一下
strXiaoCaiNiao 2004-07-15
  • 打赏
  • 举报
回复
up
myswling 2004-07-15
  • 打赏
  • 举报
回复
为什么?
因为我是没看懂。尤其下面这句话,憋死我了也没看懂。
就是说表1中值是表2的字段统计表2字段有值多个没值的多少要求结果.
再说的明确点。好帮你看看。
明后天会更好 2004-07-15
  • 打赏
  • 举报
回复
为什么没有人给我回!!!为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么为什么


Create Proc InfoProcCustomDefs @TreeCode Nvarchar(200),@DocType Nvarchar(3) As
Declare @FieldName Nvarchar(200),@DisPlyStr Nvarchar(200),@FieldType Nvarchar(200),@FieldSize Nvarchar(200)
Declare @CNull Nvarchar(200),@CNotNull Nvarchar(200)
Declare @tempVar Nvarchar (2000)
create table #Table(
DisplyStr Nvarchar(200) Null,
FieldType Nvarchar(200) Null,
FieldSize Nvarchar(200) Null,
CNull Int Null,
CNotNull Int Null,
DocType Nvarchar(200) Null)

Declare curQQQ Cursor For
Select DisplyStr,FieldType,FieldSize,FieldName From InfoSysCustomDefs
Where Treecode=@TreeCode And DocType=@DocType And hideflag=0 Order by No
Open curQQQ
Fetch curQQQ Into @DisplyStr,@FieldType,@FieldSize,@FieldName
While @@FETCH_STATUS=0
Begin
Set @CNull='Select Count(DocID) From InfoSySDocument Where TreeCode='+@TreeCode+'And DocType='+@DocType+'And DelFlag IN (0,4) And'+ @FieldName+'IS Null'
Set @CNotNull='Select Count(DocID) From InfoSySDocument Where TreeCode='+@TreeCode+' And DocType='+@DocType+ 'And DelFlag IN (0,4) And '+@FieldName+'Is Not Null'
Set @tempVar='Insert Into #Table values('+@DisplyStr+','+@FieldType+','+@FieldSize+',('+@CNull+'),('+@CNotNull+'),'+@DocType+')'
exec sp_executesql @tempVar
Fetch curQQQ into @DisplyStr,@FieldType,@FieldType,@FieldName
ENd
close curQQQ
deallocate curQQQ
select * from #Table
drop table #Table

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧