假设我从表中选择后有一个值列表:
DEPARTMENT(表):
+-----------+---------+-----------+-----------+
| DEPT_NAME | DEPT_ID | DEPT_CITY | DEPT_TYPE |
+-----------+---------+-----------+-----------+
| | | | |
+-----------+---------+-----------+-----------+
现在, 我的SELECT查询应该是:
SELECT DEPT_NAME,DEPT_ID,DEPT_CITY from LOCATIONS table where (external condition);
答案 0 :(得分:0)
我认为这可以使用数据透视表来完成。
请查看本教程http://www.artfulsoftware.com/infotree/queries.php#78
进一步你可以在SO中检查这些, MySQL pivot table
答案 1 :(得分:0)
如果您正在使用MS SQL,您可以使用FOR XML Path('')语句并创建dymanic sql查询,如下所示:(我无法访问其他SQL管理系统,因此我不知道是否这样会为他们工作。
DECLARE @columns varchar(255) = (select ',' + [Column] FROM (Values('DEPT_NAME'),('DEPT_ID'),('DEPT_CITY'),('DEPT_TYPE')) as tColumns([column])FOR XML PATH(''))
--select @columns
DECLARE @stmt varchar(255) = 'Select 1 as DummyColumn ' + @columns + ' from LOCATIONS table where (external condition);'
--select @stmt
EXEC(@stmt)
在这种情况下,我使用255作为变量的长度;但你可以根据自己的喜好改变它。
(值('DEPT_NAME'),('DEPT_ID'),('DEPT_CITY'),('DEPT_TYPE'))tColumns([column])是内联值表;你需要用正确的select语句替换它。