Бих искал да имам заявка (SQL Server 2012), направете следното: Актуализирайте данните от една таблица в друга, където няма общ запис, който може да бъде свързан (почти сигурен, че не мога просто да се присъединя и след това да актуализирам). единствената прилика е, че таблиците са с еднаква структура
за да бъде лесно (прехвърляне на 100+ елемента)
- Таблица 1a: KEY, TagName ‹-- Където a.TagName като "Tag1"
- Таблица 1b: DS_KEY, марка, модел ‹-- източник на данните за актуализация
- Таблица 2a: KEY, TagName ‹-- Където b.TagName като "Tag2"
- Таблица 2b: DS_KEY, марка, модел ‹ -- дестинация на данните за актуализация
so,
- Таблица 1a: 123, Tag1
- Таблица 1b: 123, Тест1, Модел1
- Таблица 2a: 456, Tag2
- Таблица 2b: 456, NULL, NULL
Какво имам:
--Query 1
SELECT KEY, TagName, DS_KEY, Make, Model
FROM Table1a
JOIN Table1b
ON Table1a.KEY = Table1b.DS_KEY
Where TagName = 'Tag1'
РЕЗУЛТАТ(123, Етикет1, 123, Тест1, Модел1)
--Query 2
SELECT KEY, TagName, DS_KEY, Make, Model
FROM Table2a
JOIN Table2b
ON Table2a.KEY = Table2b.DS_KEY
Where TagName = 'Tag2'
РЕЗУЛТАТ (456, Етикет 2, 456, NULL, NULL)
Връща микса, с който искам да работя. Получавате объркване как да актуализирате Table2b от тази точка. Не мога да се присъединя към тях (поне не виждам как!). Може би UNION ALL? наистина се надявам да не ми се налага
Update Table2b
Set Table2b.Make =
(SELECT Make FROM Table1a
JOIN Table1b
ON Table1a.KEY = Table1b.DS_KEY)
FROM Table2a
JOIN Table2b
ON Table2a.KEY = Table2b.DS_KEY
Where Table2a.TagName = 'Tag2'
Както казах, имам около 100 записа за поставяне и просто изглежда, че трябва да има по-лесен начин. Благодаря предварително и моля да ме извините за синтактични грешки, тъй като се опитвам да перифразирам въпроса, за да го направя прост (и съм уморен!) :)