Я пытаюсь соответствовать идентификаторы между различными таблицами, используя LIKE вместо JOINS, это необходимо из-за следующего сценарияСоответствующие строки, используя LIKE значение столбца
У меня есть 2 таблицы, первый называется порядок, второй order_items.
Для каждого заказа может быть несколько элементов порядка так, например, типичные значения таблицы может выглядеть следующим ...
Table orders
id sell_price buy_price
0001 50 20
Table order_items
id sell_price buy_price
0001-1 30 15
0001-2 20 5
Я попытался создать запрос, который будет в состоянии возвратить все детали для заказывайте 0001
, используя LIKE, возвращающие предметы заказа 0001-1
и 0001-2
.
SELECT
o.id AS order_id,
oi.id AS order_item_id,
oi.sell_price AS order_item_sell_price,
oi.buy_price AS order_item_buy_price
FROM orders o, order_items oi
WHERE oi.id LIKE o.id + '%'
ORDER BY o.purchase_date DESC
Результаты не возвращаются!
Проблема, похоже, связана с утверждением LIKE, я думал, что это правильный способ объявить об этом, но я думаю, что нет, любая помощь будет оценена по достоинству.
Я вас не понимаю, вы говорите, что я должен создать другой столбец в order_items, например 'parent_id', который будет быть тем же идентификатором, что и в таблице «Заказы»? –
Да. Схема таблицы ORDER_ITEMS будет id, order_id, sell_price и buy_price. Строка будет 0001-1, 0001, 30 и 15. – fajarkoe
Я сделал это вчера, должен был подумать об этом раньше, спасибо –