如何选择动态列 [英] HOW TO SELECT DYNAMIC COLUMNS
本文介绍了如何选择动态列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的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屋!
查看全文