请教一个问题,我想写这样一个SELECT语句,select (select top 1 Y from XX where xx='AA') form YY where DD='QQ',但是SQL SERVER老是把我select top 1 Y from XX where xx='AA'的结果(是YY表的一个列名)as 成了Excp1,使我查不出正确结果,有什么解决方法?本来是一个列名,但SQL SERVER 自动加了一个 as Excp1 ,
就成了select Excp1 form YY where DD='QQ' 或者怎么用存储过程解决?(最好附个例子)

解决方案 »

  1.   

    select (select top 1 Y from XX where xx='AA') AS [你需要的列名]form YY where DD='QQ'
      

  2.   

    select (select top 1 Y from XX where xx='AA') as AA form YY where DD='QQ'
      

  3.   

    ALong_Yue() :列名是动态的,我不能确定,所以才要查询.
    zorou_fatal(Seraph's Wing) :这样写结果也不正确.
      

  4.   

    declare @FieldName as nvarchar(50)
    set @FieldName=(select top 1 Y from XX where xx='AA')
    exec('select ' + @FieldName + ' from YY where DD='QQ')
      

  5.   

    技术交流群号:23266021
    欢迎大家在此讨论关于.net的各种技术。1号群
      

  6.   

    kjq_vb(跟着MS走):你好,你的思路我看懂了,我觉的应该是正确的,但是照这种写法,老是报"在FROM处有错",另:存储过程中的转义符是什么?
    hax123(Anson) :你好,我想解决的问题说白了就是查找的时候要查找的列不固定,想动态生成要查找的列,如何做?另问:.NET中是不是没有控件数件这一说法了?如果想实现以前VB中控件数组的功能,有什么解决方法(C#)