在SQL(ite)SELECT中循环

时间:2015-01-04 12:46:25

标签: sql sqlite loops

以下SQLite查询有效:

SELECT Name,
(CASE 
WHEN P1=1 THEN 1 
WHEN P2=1 THEN 2 
WHEN P3=1 THEN 3 
WHEN P4=1 THEN 4 
WHEN P5=1 THEN 5 
ELSE NULL
END) AS Col
FROM table

但有没有办法loop然后WHEN语句?在this question and answer之后我尝试了:

SELECT Nachname, Vorname,
(CASE 
DECLARE @i int = 0
  WHILE @i < 5 BEGIN
    SET @i = @i + 1
    WHEN P@i=1 THEN @i 
  END
END) AS Col
FROM table

但这不起作用,说:error in statement: near "@i": syntax error

有关完整信息,我通过sqldf上的R函数应用此声明。

1 个答案:

答案 0 :(得分:0)

SQLite没有动态创建列名的机制。

您必须手动列出所有列,或者从程序中动态创建SQL查询。