Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Обьеденение таблиц по типу UNION / 2 сообщений из 2, страница 1 из 1
15.10.2013, 03:32:22
    #38427475
joraxr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обьеденение таблиц по типу UNION
4 запроса, в итоге 4 таблицы
Вот только количество столбцов разное
Как можно составить одну большую таблицу из них с полным количеством столбцов
Допустим когда нет значения то пустая строка

UNION естественно не работает

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
SELECT `medical_msk`.*,
`category`.`category` AS `category_name`,
`type`.`type` AS `type_name`
FROM `medical_msk`
LEFT JOIN `category` ON `category`.`id`=`medical_msk`.`category`
LEFT JOIN `type` ON `type`.`id`=`medical_msk`.`type`;


SELECT `medical_spb`.*,
`area_spb`.`area` AS `area_name`,
`category`.`category` AS `category_name`,
`type`.`type` AS `type_name`
FROM `medical_spb`
LEFT JOIN `area_spb` ON `area_spb`.`id`=`medical_spb`.`area`
LEFT JOIN `category` ON `category`.`id`=`medical_spb`.`category`
LEFT JOIN `type` ON `type`.`id`=`medical_spb`.`type`;


SELECT `medical_reg`.*,
`region`.`region` AS `region_name`,
`city`.`city` AS `city_name`,
`category`.`category` AS `category_name`,
`type`.`type` AS `type_name`
FROM `medical_reg`
LEFT JOIN `region` ON `region`.`id`=`medical_reg`.`region`
LEFT JOIN `city` ON `city`.`id`=`medical_reg`.`city`
LEFT JOIN `category` ON `category`.`id`=`medical_reg`.`category`
LEFT JOIN `type` ON `type`.`id`=`medical_reg`.`type`;


SELECT `medical_oth`.*,
`country`.`country` AS `country_name`,
`city_oth`.`city` AS `city_name`,
`category`.`category` AS `category_name`,
`type`.`type` AS `type_name`
FROM `medical_oth`
LEFT JOIN `country` ON `country`.`id`=`medical_oth`.`country`
LEFT JOIN `city_oth` ON `city_oth`.`id`=`medical_oth`.`city`
LEFT JOIN `category` ON `category`.`id`=`medical_oth`.`category`
LEFT JOIN `type` ON `type`.`id`=`medical_oth`.`type`;
...
Рейтинг: 0 / 0
15.10.2013, 04:53:33
    #38427480
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обьеденение таблиц по типу UNION
1. вместо звездогки используйте точный перечень
необходимых колонок.

2. если в каком-то селекте не колонки -- добавьте
в другой селект с темже именем.
Значение просто дайте NULL или какое-нибудь
сообщения, типа 'пива нет', например:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select 
  t1.col1 as kolonka1, 
  t1.col2 as kolonka2
from table1 t1
--
union all
--
select 
  t2.col1 as kolonka1, 
  'piva net' as kolonka2
from table2 t2
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Обьеденение таблиц по типу UNION / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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