Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Добавление столбцов из других таблиц в новую таблицу / 4 сообщений из 4, страница 1 из 1
19.05.2016, 13:52
    #39239090
Sacura
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление столбцов из других таблиц в новую таблицу
Всем доброго дня. Такая проблема. Не могу догнать как мне добавить столбцы в новую таблицу из других уже существующих? Работа с временными таблицами, но это не суть. В интернете нашел только один ресурс с подобной проблемой, но ответа там нет: . Суть такая: есть 3 таблицы, я выбираю SELECT'ом нужные мне столбцы из этих трех и присоединяю к другой (четвертой) таблицы, где уже буду осуществлять свои операции.
Сделал через 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.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
CREATE TABLE #cheuss (Код int, 
					  Фамилия varchar(50), 
					  Имя varchar(50), 
					  Отчество varchar(50), 
					  ID_User int, 
					  Surname varchar(50), 
					  Name varchar(50), 
					  Fathername varchar(50))
EXEC check_users 
CREATE TABLE #chediscs (Код int, 
					  КодКафедры int, 
					  КодПреподавателя int, 
					  Дисциплина varchar(500), 
					  ID_Parameter int)
EXEC check_department 
CREATE TABLE #chedips -- создание временной таблицы
					(Код int, 
					  Название nvarchar(150), 
					  ID_Department int)
EXEC check_discipline
SELECT Schedule_state.ID_User
	  ,Schedule_state.ID_Department
	  INTO #SCHST
	  FROM Schedule_state

ALTER TABLE #SCHST ADD 
					Surname varchar(50), Name varchar(50), Fathername varchar(50), КодПРЕП int, Фамилия varchar(50), Имя varchar(50), 
					Отчество varchar(50), КодДИСЦ int, КодКафедры int, КодПреподавателя int, Дисциплина varchar(500), 
					КодКАФ int, Название nvarchar(150)
					
INSERT INTO [#SCHST]
			SELECT #cheuss.Surname
				  ,#cheuss.Name
				  ,#cheuss.Fathername
				  ,#cheuss.Код
				  ,#cheuss.Фамилия
				  ,#cheuss.Имя	  
				  ,#cheuss.Отчество
			from #cheuss 
			/*WHERE #cheuss.ID_User= #SCHST.ID_User*/
			UNION
			SELECT   #chediscs.Код
					,#chediscs.КодКафедры
					,#chediscs.КодПреподавателя
					,#chediscs.Дисциплина
			FROM #chediscs
			/*WHERE #SCHST.ID_User = #chediscs.КодПреподавателя*/
			UNION
			SELECT #chedips.Код
				  ,#chedips.Название
			FROM #chedips
			/*WHERE #SCHST.ID_Department = #chedips.ID_Department*/
			
			SELECT * FROM #SCHST

END
...
Рейтинг: 0 / 0
19.05.2016, 14:18
    #39239116
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление столбцов из других таблиц в новую таблицу
Ещё один любитель табуляций и горизонтальных скроллов... что, нажать предпросмотр и по-человечески отформатировать невмоготу?
Sacuraкак мне добавить столбцы в новую таблицу из других уже существующих?
Столбцы ты уже добавил, выполнив ALTER TABLE.
А для добавления данных в существующие записи следует использовать не INSERT, а UPDATE.
...
Рейтинг: 0 / 0
19.05.2016, 14:38
    #39239143
Sacura
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление столбцов из других таблиц в новую таблицу
Akina, Спасибо большое. Вроде работает. Правда везде теперь NULL, но скорее всего данных просто нет, которые сравниваются.
...
Рейтинг: 0 / 0
19.05.2016, 14:58
    #39239168
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление столбцов из других таблиц в новую таблицу
Sacuraскорее всего данных просто нет, которые сравниваются.
А вот это можно проверить тупо селектом...
И ещё - не пытайся выполнить обновление одним запросом из всех трёх таблиц. Лучше три отдельных запроса.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Добавление столбцов из других таблиц в новую таблицу / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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