4

我对 MySQL 语法有疑问。我生成了一张包含真实飞机航班和想象飞机航班的表格:

Flight_ID 虚构
12345678 0
12345678 1
12345678 1
12345678 1
23456789 0
23456789 1
23456789 1
ETC......

虚构的航班与Flight_ID生成它们的真实航班相同。该Imaginary列指示它是真实的0还是虚构的1飞行。

我需要创建一个名为的新变量Type,该变量将指示它是真正的航班,还是选项1、选项2、选项3……

我找不到创建这些选项 1、选项 2、选项 3 模态的正确语法。

4

1 回答 1

1

试试这个:

SELECT Flight_ID, Imaginary, IF(Imaginary=0, @img:=0, TRUE) ignoreThisCol, 
       IF(Imaginary=0, 'real flight', CONCAT('option',  @img:=@img+1)) flightType , 
       IF(Imaginary=0, @curFlight:=Flight_ID, TRUE) ignoreThisCol
FROM flights, (SELECT @curFlight:=0, @img:=0) a
ORDER BY Flight_ID, Imaginary
于 2012-12-18T11:46:32.317 回答