从其他东西生成sql查询字符串。我希望为每个选定的项目都有一个别名和ORDER B,主要是因为如果两个选择部分出现相同的别名,它们将被强制成结果中的唯一列名称,通过附加-1,-2等而不是多个具有相同名称的列。
简化查询:
SELECT '6' - `Amt`
FROM tbl
生成列名为'6'的结果 - “Amt”(按预期方式)。
但是,添加别名:
SELECT '6' - `Amt` AS '6' - `Amt`
FROM tbl
产生错误。
然而,ORDER BY中的格式相同:
SELECT '6' - `Amt`
FROM tbl
ORDER BY '6' - `Amt`
https://dev.mysql.com/doc/refman/5.7/en/problems-with-alias.html确实谈到了这一点。
我唯一能想到的就是将别名删回6 - Amt,但这与'6'不同 - 在没有别名时mysql创建的`Amt`。
有什么建议吗?
答案 0 :(得分:1)
SELECT '6' - 'Amt' as ` '6' - ``Amt`` `
我不确定你想要实现的目标,但这可以通过在你的查询中乘以`来实现。
我不知道为什么你会这样做,因为这是不好的做法,我建议不要使用它,除非你必须这样做。
答案 1 :(得分:1)
如果你真的真的想要`在你的别名中,你可以"逃避"将它们加倍,就像`6 - ``Amnt```
......但我建议不要这样做,除非有非常充分的理由。