左結合で結合された 3 つのテーブルがあります。コードは次のとおりです。
SELECT
(LEAST(`a`.`price, `b`.`price`) - `c`.`price`) AS `diff`
...
ORDER BY `diff` DESC
問題: c
. price
LEAST より大きいため、減算は負になり、BIGINT UNSIGNED 値が範囲外です。このばかげたエラーをスローしないようにするにはどうすればよいですか?
これは結果データです。テーブル内の実際のデータを変更しているわけではありません。なぜ、これを正常に行うことができないのでしょうか? CAST(LEAST(...) AS SIGNED)
LEAST 内の両方の列を署名済みとしてキャストしようとしましたが、どちらも機能しませんでした。