【发布时间】:2011-09-20 22:36:59
【问题描述】:
我看到了解释这一点的主题,但在我的情况下它不起作用。
我有疑问
( SELECT * FROM my_table
left join table2 on table2.id = my_table.id
left join table3 on pension.age = my_table.age
WHERE table3.id IS NULL )
UNION
( SELECT * FROM my_table
left join table2 on table2.id = my_table.id
left join table3 on pension.age = my_table.age
WHERE my_table.id FROM 75 to 245 )
ORDER BY my_table.id ASC, table2.wage DESC, table3.compensation DESC
这不起作用说 user_table。或表 2。或表 3。没找到
当我删除它时它的说法
ORDER BY id ASC, wage DESC, compensation DESC
这有点工作,但不是预期的结果。请帮忙
【问题讨论】:
-
而想要的结果是......?
-
我认为“user_table”是一个错字,而您的意思是“my_table”
-
由于联合查询仅在
WHERE中有所不同,您可以将其编写为带有 WHERE 部分OR-ed 的简单查询(没有联合)。 -
如果我用 WHERE + 编写它会非常慢,或者这就是我使用联合的原因。 JohnFx 期望的结果是 ORDER BY my_table.id ASC, table2.wage DESC, table3.compensation DESC
标签: mysql sql-order-by union left-join