У меня есть две таблицы:MYSQL - Помощь с более сложной Query
tbl_lists
и tbl_houses
Внутри tbl_lists
У меня есть поле, называемое HousesList - он содержит идентификаторы для нескольких домов в следующем формате:
1# 2# 4# 51# 3#
Мне нужно уметь выбирать поля mysql из tbl_houses
ГДЕ ID = любой из этих идентификаторов в списке. В частности, мне нужно SELECT SUM(tbl_houses.HouseValue) WHERE tbl_houses.ID IN tbl_lists.HousesList
- и я хочу сделать это, чтобы вернуть SUM
для нескольких строк в tbl_lists
.
Любой может помочь? Я думаю о том, как я могу сделать это в SINGLE-запросе, так как я не хочу делать mysql loops
(внутри PHP).
Я в настоящее время пытается что-то вроде: tbl_lists.HousesList LIKE CONCAT ('%', tbl_houses.ID, '#') ..не работает лол ... это только выбирает первая запись в списке – Joe
Хранение списков в полях, как правило, не очень хорошая идея. Можете ли вы изменить схему, или это вне вашего контроля? – Simon
Я храню списки в полях, чтобы избежать необходимости в уникальных именах полей, так как мой проект очень динамичен. Не собираюсь менять это. Не беспокойтесь, я делаю это только для конкретных вещей, требующих более динамических имен полей. – Joe