Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 2 поля=2 поля ???  [new]
Andrew Volkov
Member

Откуда: My little world
Сообщений: 103
Всем доброго вечера (еще раз)

Есть 3 таблицы
2 - source , 1 -target

Table1 Table2
Id PlaceId
PlaceId Place
Summa

Table3 (target)
Id
Place
Summa

Уникальным явл. поле (Id i PlaceId) в смысле вместе (id может повторяться с разными значениями PlaceId)
Вопрос в следующем. Таблица должна модифицироваться на основании

1. если table3.id=table1.id and table3.place=table2.place если при этом сумма разная, то поменять сумму

2. если table3.id and table3.place такого сочетания нет в связке table1 i table 2
то добавить такую запись.

Как это правильнее организовать. Если бы одно поле то с Inner Join и вперед, а когда ключевым явл. 2 поля, то как правильнее поступить, при условии что они оба varchar(20) Или к примеру есть смысл делать темпово вычисляемое поле типа Id+place и по нему Inner Join делать?

Спасибо
18 мар 03, 00:42    [149603]     Ответить | Цитировать Сообщить модератору
 Re: 2 поля=2 поля ???  [new]
Denis@nk
Member

Откуда:
Сообщений: 193
Что мешает указать два поля в Inner Join
18 мар 03, 06:00    [149627]     Ответить | Цитировать Сообщить модератору
 Re: 2 поля=2 поля ???  [new]
Andrew Volkov
Member

Откуда: My little world
Сообщений: 103
А это возможно?
Какой тогда синтаксис, что то типа

from table3 t3 Inner Join (select t1.id, t2.place from table1 t1 inner join table2 t2
on t1.placeid=t2.placeid) as tt
on t3.id=tt.id and t3.place=tt.place  


так или как-то по другому??
18 мар 03, 10:15    [149765]     Ответить | Цитировать Сообщить модератору
 Re: 2 поля=2 поля ???  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
А что тебя в этом синтаксисе смущает? Сам часто таким пользуюсь.
18 мар 03, 10:22    [149782]     Ответить | Цитировать Сообщить модератору
 Re: 2 поля=2 поля ???  [new]
Andrew Volkov
Member

Откуда: My little world
Сообщений: 103
А он построчно будет смотреть?
Чето я с утра плохо соображаю ;)
Хотя вроде все должно быть правильно

Спасибо
18 мар 03, 10:35    [149819]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить