我对mysql语法有问题。我已经生成了一个包含真实飞机飞行和虚拟飞机飞行的表格:
想象中的飞行
12345678 0
12345678 1个
12345678 1个
12345678 1个
23456789个
23456789 1个
23456789 1个
等。。。。。。
想象中的飞行与生成它们的真实飞行具有相同的Flight_IDImaginary列指示它是实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

09-19 12:12