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

Откуда:
Сообщений: 4
Добрый день.

Изучаю язык запросов. Столкнулся с непонятной для меня проблемой. Готового решения не нужно, подскажите в какую сторону копать.

Есть две таблицы вида:
Table1
Code Point Date SumIn
11101.01.142000
12201.01.142300


Table2
Code Point Date SumOut
3101.01.142100
5101.01.142400


Select Table1.Point, Table1.Date, Table2.SumOut, Table1.SumIn
From Table1 Left join Table2on Table1.Point=Table2.Point and Table1.Date=Table2.Date


Приводит к
Code Point Date SumOut SumIn
11101.01.1421002000
11101.01.1424002000
12201.01.14NULL2300

Повторению использования первой строки. Первой таблицы.
Требуемый мне набор данных сводится к
Code Point Date SumOut SumIn
11101.01.1421002000
NULL101.01.142400NULL
12201.01.14NULL2300


Помогите направить мысль в нужном русле.

Спасибо.
18 ноя 14, 12:59    [16864794]     Ответить | Цитировать Сообщить модератору
 Re: Помощь с соединением в запросе  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
HolyBender,

что определяет порядок результирующих строк?
Почему на NULL заменяются значения во второй строке, а не в первой?
18 ноя 14, 13:03    [16864831]     Ответить | Цитировать Сообщить модератору
 Re: Помощь с соединением в запросе  [new]
HolyBender
Member

Откуда:
Сообщений: 4
iap,

Порядок не важен. Важно чтобы он больше не соединял по строке с кодом, которая уже участвовала в соединении.
18 ноя 14, 13:15    [16864947]     Ответить | Цитировать Сообщить модератору
 Re: Помощь с соединением в запросе  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
HolyBender
iap,

Порядок не важен. Важно чтобы он больше не соединял по строке с кодом, которая уже участвовала в соединении.
Кто "он"?
Кого "не соединял"?

Перейдите, пожалуйста, на нормальный русский язык.
Можете последовательно русскими словами рассказать,
в чём тут проблема?
18 ноя 14, 13:39    [16865176]     Ответить | Цитировать Сообщить модератору
 Re: Помощь с соединением в запросе  [new]
HolyBender
Member

Откуда:
Сообщений: 4
iap,

Необходимо чтобы после соединения в выходной таблице не дублировалось значение SumIn для Point ='1', а вместо продублированного SumIn=2000, был бы SumIn=NULL.
18 ноя 14, 13:46    [16865218]     Ответить | Цитировать Сообщить модератору
 Re: Помощь с соединением в запросе  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
HolyBender
iap,

Необходимо чтобы после соединения в выходной таблице не дублировалось значение SumIn для Point ='1', а вместо продублированного SumIn=2000, был бы SumIn=NULL.
Противоречие:
  • "в выходной таблице не дублировалось значение SumIn"
  • "вместо продублированного SumIn"
    Что из этих двух вариантов надо?
    И какой из двух SumIn=2000 должен быть заменён на NULL? Собственно, об этом я уже спрашивал.
  • 18 ноя 14, 13:54    [16865280]     Ответить | Цитировать Сообщить модератору
     Re: Помощь с соединением в запросе  [new]
    Glory
    Member

    Откуда:
    Сообщений: 104760
    HolyBender
    iap,

    Необходимо чтобы после соединения в выходной таблице не дублировалось значение SumIn для Point ='1', а вместо продублированного SumIn=2000, был бы SumIn=NULL.

    Нумеруете записи запроса с окном по Point и Date
    У всех записей с номером > 1 за-null-яте нужные поля
    18 ноя 14, 13:57    [16865297]     Ответить | Цитировать Сообщить модератору
     Re: Помощь с соединением в запросе  [new]
    HolyBender
    Member

    Откуда:
    Сообщений: 4
    Glory,

    спасибо за наводку.
    18 ноя 14, 13:59    [16865311]     Ответить | Цитировать Сообщить модератору
     Re: Помощь с соединением в запросе  [new]
    iap
    Member

    Откуда: Москва
    Сообщений: 47000
    Glory
    HolyBender
    iap,

    Необходимо чтобы после соединения в выходной таблице не дублировалось значение SumIn для Point ='1', а вместо продублированного SumIn=2000, был бы SumIn=NULL.

    Нумеруете записи запроса с окном по Point и Date
    У всех записей с номером > 1 за-null-яте нужные поля
    Произвольно нумеруете что ли?
    По каким полям упорядочивать?
    Так и не добился от вопрошающего...
    Бессмыслица получается.
    18 ноя 14, 14:21    [16865459]     Ответить | Цитировать Сообщить модератору
     Re: Помощь с соединением в запросе  [new]
    Glory
    Member

    Откуда:
    Сообщений: 104760
    iap
    Произвольно нумеруете что ли?
    По каким полям упорядочивать?
    Так и не добился от вопрошающего...
    Бессмыслица получается.

    По Table2.Code, например. В окне Point/Date
    18 ноя 14, 14:23    [16865476]     Ответить | Цитировать Сообщить модератору
     Re: Помощь с соединением в запросе  [new]
    iap
    Member

    Откуда: Москва
    Сообщений: 47000
    Glory
    iap
    Произвольно нумеруете что ли?
    По каким полям упорядочивать?
    Так и не добился от вопрошающего...
    Бессмыслица получается.

    По Table2.Code, например. В окне Point/Date
    HolyBender об этом ничего не говорил.
    А то, что можно, так это-то понятно.
    18 ноя 14, 14:29    [16865529]     Ответить | Цитировать Сообщить модератору
    Все форумы / Microsoft SQL Server Ответить