は私が書くしようとしているクエリです:SELECTで変数を代入し、後で同じSELECTで変数を使用できますか?ここ
SELECT I.*,
IF(MAX(B.`amount`) != 0, MAX(B.`amount`), I.`start`) AS `current_bid`,
`current_bid` * 1.05 AS `min_bid`
...
私はエラー「不明な列 『CURRENT_BID』」を取得しています。前の行に現在の列を作成しただけなので、私はそれを仮定しています。とにかく、このクエリを私が望むように動作させることができますか?
SELECT I.*,
IF(MAX(B.`amount`) != 0, MAX(B.`amount`), I.`start`) AS `current_bid`,
IF(MAX(B.`amount`) != 0, MAX(B.`amount`) * 1.05, I.`start` * 1.05) AS `min_id`
...
しかし、それは恐ろしく非効率的なようだ:私はそれが仕事を得るための一つの方法は、このような基本的に同じことを言う2つのif文を使用するだろうと思います。
current
を割り当てる方法はありますか?MAX(B.amount)
を2回計算しないでください。
あなたは私にそれを打つ...私はそれが唯一の方法だと思う。でも、SQLにはカラムをエイリアスするための組み込みの方法がないのはなぜかというと奇妙に思えます。 – McGarnagle