Объединение запросов с несколькими соединениямиMySql

Форум по Mysql
Ответить
Anonymous
 Объединение запросов с несколькими соединениями

Сообщение Anonymous »

У меня есть 2 запроса с одинаковыми 3 связанными таблицами, и каждая из них работает отлично. Но в идеале я хотел бы объединить их в один запрос. Итак: < /p>
select me.id, me.title, me.start_date_time,
count(mti.checkin) from mco_event me
left outer join mco_ticket_instance as mti on mti.event_id = me.id and mti.checkin is not null
where me.start_date_time > '2024-01-01'
group by me.id order by me.start_date_time asc;
< /code>
Получает мне правильное количество чеков. < /p>
select me.id, me.title, me.start_date_time,
count(mol.status) from mco_event as me
join mco_ticket_instance mti1 on mti1.event_id=me.id
join mco_order_line mol on mol.id = mti1.order_line_id and mol.status='order_paid'
where me.start_date_time > '2024-01-01'
group by me.id order by me.start_date_time asc;
< /code>
Второй дает мне допустимый (order_paid) счет. Но если я комбинирую это: < /p>
select me.id, me.title, me.start_date_time,
count(mti.checkin),
count(mol.status) from mco_event as me
join mco_ticket_instance mti1 on mti1.event_id=me.id
join mco_order_line mol on mol.id = mti1.order_line_id and mol.status='order_paid'
left outer join mco_ticket_instance as mti on mti.event_id = me.id and mti.checkin is not null
where me.start_date_time > '2024-01-01'
group by me.id order by me.start_date_time asc;
< /code>
Это вращается в течение 15 секунд, а затем возвращает количество, которые являются дико неправильными (например, 53,345, когда максимальный возможный должен быть 450), а каждый отдельный счет одинаково (что всегда неправильно). Таким образом, каждое объединение работает, но только когда отдельно.
Bactstory: MCO_EVENT - это таблица «MAIN», MCO_TICKET_INSTANCE имеет EVENT_ID, которая имеет MCO_EVENT.ID и order_line_id, который является MCO_ORDER_LINE.ID.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... iple-joins
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»