orders
id
date
type (book или deposit)
status (success, error)
orders_books
id
order_id
book_id
...
orders_deposits
id
order_id
...
можно ли запросом sql получить записи по следующему алгоритму: проходим по orders, если type === book, то берем нужную инфу из orders_books, если type === deposit, то берем из orders_deposits?
в голову приходит только несколько вариантов решения:
1. получить нужные записи orders и циклом проходить по каждой записи и отдельным запросом получать нужную инфу
2. получить тремя запросами данные из 3 таблиц и потом как-то отдельно склеивать, orders_books и orders_deposits чтобы сортировка была либо по order_id либо по времени
SELECT orders.column,
COALESCE(books.column, deposits.column) AS column
FROM orders
LEFT JOIN books ON orders.type = 'book' AND orders.id = books.order_id
LEFT JOIN deposits ON orders.type = 'deposit' AND orders.id = deposits.order_id