假设我有这个查询
SELECT COUNT(*) FROM (SELECT * FROM k JOIN j ON k.id = j.aid) k
假设 k 和 j 有两个同名的列,整个查询将提示重复列错误....
虽然简单地执行 SELECT * FROM k JOIN j ON k.id = j.aid
将执行得很好,尽管有重复的列....
我知道您可以在子查询中使用 USING 来指定在重复的情况下使用哪个列,但是有没有一种方法可以指定查询,以便它会自动选择一个特定的列(无论是随机的还是使用任何规则) 在重复的情况下使用而无需我手动指定它们?
即在不修改子查询(SELECT * FROM k 等)的情况下执行此操作,仅修改 super 查询(SELECT COUNT(*) FROM ...)并使其尽可能抽象,以便无论子查询是
最佳答案
没有。
此示例中最简单的解决方案是在子查询中将 * 替换为 1。单个字符的替换真的有那么大问题吗?
关于php - 使 sql 子查询停止提示重复列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8228284/