如何选择动态列 [英] HOW TO SELECT DYNAMIC COLUMNS

查看:84
本文介绍了如何选择动态列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的sql过程中,我想在sql服务器中选择动态列

我提供以下编码,但无法正常运行

In my sql procedure I want to select dynamic columns in sql server

I give following coding but it is not working

SELECT IM_SERIALNO,IM_ITEMCODE,''VALUE'' AS +@PRICENAME '' ,IM_TAX FROM ITEM_MASTER WHERE
IM_COMPANYCODE  = +@COMPANYCODE
    AND     IM_BRANCHCODE   =@BRANCHCODE


如何获取它,请帮助我


How to get it please help me

推荐答案

尝试一下:
Try this:
SELECT IM_SERIALNO, IM_ITEMCODE, 'VALUE' AS @PRICENAME, IM_TAX
FROM ITEM_MASTER
WHERE IM_COMPANYCODE  = @COMPANYCODE AND IM_BRANCHCODE =@BRANCHCODE


但我担心结果...

''VALUE'' AS @PRICENAME给您:


but i''m afraid about results...

''VALUE'' AS @PRICENAME gives you:

@PRICENAME -column name<br />
VALUE -row <br />
VALUE -row <br />
VALUE<br />
VALUE<br />


可以吗?


以下查询"显示了如何使用变量


Is it OK?


The following ''query'' shows how to use variables

DECLARE @PRICENAME VARCHAR(50)
DECLARE @COMPANYCODE VARCHAR(50)
DECLARE @BRANCHCODE VARCHAR(50)

SET @PRICENAME ='BlaBlaBla'
SET @COMPANYCODE ='UV2UV2UV2'
SET @BRANCHCODE ='q57438954rh8o9f'

SELECT  @PRICENAME AS 'PriceName' , @COMPANYCODE AS 'CompanyCode' , @BRANCHCODE AS 'SomeCode'



结果:



Result:

PriceName       CompanyCode     SomeCode<br />
BlaBlaBla	UV2UV2UV2	q57438954rh8o9f<br />



要选择动态列,请使用:



To select dynamic column, use:

IF @PRICENAME = 'SomeValue'
	BEGIN
		SELECT  [Columns1] ....
	END
ELSE
	BEGIN
		SELECT  [Column2] ...
	END



您可以使用 OBJECT_NAME [



You can use a OBJECT_NAME[^] command to return the name of column too.

[/EDIT]


好吧,您在SQL中@...之前不需要+号,而在@PRICENAME之后的''''也将引起问题.
Well, you don''t need the + signs before the @... in your SQL and the '''' after @PRICENAME will cause you problems as well.
SELECT IM_SERIALNO,IM_ITEMCODE,''VALUE'' AS @PRICENAME ,IM_TAX FROM ITEM_MASTER WHERE
IM_COMPANYCODE  = @COMPANYCODE
    AND     IM_BRANCHCODE   =@BRANCHCODE


这篇关于如何选择动态列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆