1. Список говнокодов пользователя SatanicArmpit

    Всего: 1

  2. SQL / Говнокод #18210

    −164

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    select top 1000
    		[ObjectType] = N'Scv',
    		[SourceCodeId] = d.[IDOBJ], 
    		[ParameterName] = N'DlitZamera',
    		[DateTime] = l1.[VALUEDATE], 
    		[Value] = l1.[PERIOD], 
    		[vValue] = NULL, [IsLive] = 1
    from tm_mn_c8_kust.[dbo].[Lg] as l1
    left join tm_mn_c8_kust.[dbo].[Lg] as l2 on (l1.IDOBJ=l2.IDOBJ and l1.ValueDATE<l2.ValueDATE)
    inner join tm_mn_c8_kust.[dbo].[TiiDat] as d on d.IDDAT = l1.IDOBJ
    where 	l1.TYPEOBJ=330 and 
    		l1.IDPAR=15 and
    		l2.ValueDATE is null

    Задание:
    Выбрать последнее добавленное значение из таблицы и заджойнить данные из другой таблицы

    Решение:
    Join таблицы с самой собой по условию l1.ValueDATE<l2.ValueDATE и взять только строки, которые не сростились :)
    (Строки 9 и 13)

    SatanicArmpit, 21 Мая 2015

    Комментарии (9)