我正在尝试编写存储过程,并且根据特定的列值,我希望能够更改从中选择的表格。我会尽力举一个例子:动态更改要使用SQL CASE语句进行选择的表格
SELECT ItemNumber,
ItemType,
Description
FROM
CASE ItemType
WHEN 'A' THEN TableA
ELSE TableB
END
WHERE
CASE ItemType
WHEN 'A' THEN ItemNumber = @itemNumber
ELSE PartNumber = @itemNumber
END
正如你所看到的,不仅是我在动态变化的,我从选择表,但由于这两个表是由两个不同的人在两个不同时间做的列名也是不同的。
所以,我的问题是:什么是最好的方法来实现这一点,因为SQL Server似乎不喜欢我构建的查询。
如果有人谁看到什么,我试图做可以提出一个更好的方式来做到这一点,我会所有的耳朵:-)
虽然人们通常假设“SQL Server”==“MS SQL Server”,但如果您在问题和标签中说明了这一点,则会更好。我正在更换标签,如果我错了,请回复。 – 2009-01-29 17:44:20
sqlserver是Microsoft SQL Server的标记。目前没有其他产品是这个名称,它是唯一有用的标签。 – 2009-01-29 17:54:42