У меня есть две таблицы:Как присоединиться к столам с объединением? MySQL
- истории
- бизнес
Я хочу, чтобы запустить этот запрос:
SELECT name, talias.*
FROM
(SELECT business.bussName as name history.*
FROM history
INNER JOIN business on history.bussID = business.bussID
WHERE history.activity = 'Insert' OR history.activity = 'Update'
UNION
SELECT name as Null, history.*
FROM history
WHERE history.activity = 'Delete'
) as talias
WHERE 1
order by talias.date DESC
LIMIT $fetch,20
этот запрос принять 13 вторых, я думаю, что проблема что Mysql объединяет все строки в истории и бизнес-таблицах! Пока он должен присоединиться всего к 20 рядам!
Как я могу это исправить?
Вы видите что-то странное в этом запросе? – Strawberry
Да! mysql присоединяется к двум большим таблицам, а просто присоединяется к 20 строкам! – david
Он не может получить только 20 строк, потому что он должен выполнять 'JOIN' и' UNION', прежде чем он выполнит 'ORDER BY'. – Barmar