@xonar
А смысл?

Как составить запрос JOIN в SQL?

Здравствуйте.
Есть задача. Есть таблица bet_games - где интересно поле commission_items

В commission_items лежит номер вещи в формате [10101].

В [10101] лежит айди вещи из таблицы items.

То есть, таблица[поле] bet_games[commission_items] = items[id] и следом если bet_games[commission_items] = items[id], надо получить у items[id] поле items[item_id] и затем идём в таблицу items_info, где нужно если items[item_id] = items_info[id] получить поле PRICE.

Уф, вроде описал верно.

5be9c94a9633c025211420.png
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
Судя по имени поля и по виду выводимых данных, IMHO, там JSON, так-что как-то так:
SELECT id, 
	( 
		SELECT items_info.PRICE FROM items 
		LEFT JOIN items_info ON items_info.id = items.item_id
		WHERE items.id = JSON_EXTRACT(commission_items,'$[0]') 
	) AS price
FROM `bet_games` 
WHERE 1

или без id базовой таблицы, но с id элемента:
SELECT items_info.id, items_info.price FROM items 
LEFT JOIN items_info ON items_info.id = items.item_id
WHERE 
items.id IN 
	( 
		SELECT JSON_EXTRACT(`commission_items`,'$[0]')
		FROM `bet_games` 
	)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Exteris
Как-то так:
select bet_games.comission_items, items_info.price
from bet_games
join items on bet_games.comission_items=items.id
join items_info on items.item_id=items_info.id
Ответ написан
dimonchik2013
@dimonchik2013
настоящие экстремалы предпочитают жен своих друзей
тип поля comission_items ? JSON или TEXT ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы