【发布时间】:2015-03-02 04:07:03
【问题描述】:
以下 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 上应用此语句。
【问题讨论】:
-
你到底想达到什么目的?
-
P1到P5是列名。它们要么为空,要么值为 1。