Я хочу выбрать из нескольких таблиц на основе значения из первой таблицы. Как использовать значение a.property_type
в качестве имени таблицы?Значение столбца SQL как имя таблицы
SELECT * from properties a
//LEFT JOIN caracteristics_apartments
LEFT JOIN caracteristics_+a.property_type b
ON a.property_id = b.property_id
WHERE a.property_id = 1
Так что, если у меня есть запись в свойствах:
id_property: 1
property_name: Apartment 3 rooms
property_type: apartment
тогда я использую значение из property_type выбрать из другой таблицы с именем apartment_characteristics (составленный property_type + «_characteristics»), чтобы получить собственность характеристики.
Я пошлю вашу первую идею. Я не проектировал базу данных таким образом, но я был предназначен. Теперь я отменим эту идею. Проблема в том, что у меня есть главная таблица со свойствами, а для каждого типа свойства - набор характеристик. Например, квартиры имеют 10, земли имеют 3, дом - 6. Всего 19 колонн. Все нормально, но только когда я вставляю землю 16, будет null или 0, и мне это не нравится. Можете ли вы дать мне подсказку? –