我对mysql语法有问题。我已经生成了一个包含真实飞机飞行和虚拟飞机飞行的表格:
想象中的飞行
12345678 0
12345678 1个
12345678 1个
12345678 1个
23456789个
23456789 1个
23456789 1个
等。。。。。。
想象中的飞行与生成它们的真实飞行具有相同的Flight_ID
。Imaginary
列指示它是实0
飞行还是虚1
飞行。
我需要创建一个名为Type
的新变量,它将指示这是一个真正的航班,还是option1,option2,option3……
我找不到创建这些option1、option2、option3模块的正确语法。
最佳答案
试试这个:
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