Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / UNION из таблиц с разными и одинаковыми полями / 4 сообщений из 4, страница 1 из 1
06.04.2015, 00:05:36
    #38927617
_ranc1d
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UNION из таблиц с разными и одинаковыми полями
Всем доброго дня.
Тема - загородная недвижимость.
Суть вопроса: есть таблицы - участки land, коттеджи cottages, таунхаусы townhouses.
Таунхаусы и коттеджи идентичны:
id name created area area_houseINT TEXT DATETIME FLOAT FLOAT#имявремяплощ.площ. дома

Идентичные поля:
id, name, area, created

Неидентичные поля:
area_house - площадь дома.

У участков нет площади дома, на 1 поле меньше.

Я хочу получить список всей недвижимости, с упорядочиванием по дате .

Насколько верно такое решение? Я просто добавляю NULL в качестве поля:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT t1.* FROM
(
SELECT id,name,area, created, NULL as area_house FROM `land`
UNION
SELECT id,name,area, created, area_house FROM `cottages`
UNION
SELECT id,name,area, created, area_house FROM `townhouses`
) t1 ORDER BY created DESC
...
Рейтинг: 0 / 0
06.04.2015, 09:09:57
    #38927702
retvizan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UNION из таблиц с разными и одинаковыми полями
_ranc1d,

1. UNION ALL

2. Почему не сделать 1 таблицу с дополнительным полем тип недвижимости?
...
Рейтинг: 0 / 0
06.04.2015, 09:20:51
    #38927709
_ranc1d
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UNION из таблиц с разными и одинаковыми полями
retvizan, спасибо за ответ.

Как вариант можно, но в скором времени еще квартиры будут, а там поля отличаются еще сильнее.
Наверное, вы правы, можно сделать тип и засунуть туда всю загородную недвижимость, оставляя площадь дома пустой у участков.
...
Рейтинг: 0 / 0
06.04.2015, 11:58:53
    #38927852
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UNION из таблиц с разными и одинаковыми полями
_ranc1d , разреженная таблица (данные имеются только в полях, характерных для записи этого типа, в остальных NULL) не представляет собой ничего необычного. В то время как дробление одной сущности на несколько таблиц только потому, что у них в зависимости от одного атрибута присутствуют или отсутствуют другие - заведомо плохо.
Можете выбрать альтернативный вариант - EAV-like хранение, но с ним будет сложнее работать (как я понимаю, опыта у Вас пока немного), так что пока не надо бы.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / UNION из таблиц с разными и одинаковыми полями / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]