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

Откуда:
Сообщений: 50
Добрый день! Помогите пожалуйста, составить вот такую выборку.
Что нужно: Первой таблице в одной дате выполнено несколько услуг, из этих услуг надо выбрать только одну услугу
с минимальными ценой во второй таблице. Результат должен быть как в табл3. А услуга которая выполнена за определенную дату и в этой дате не выполнено никаких других услуг если она единственная
то это услуга автоматом должен остаться. Выбрать только из услуг где в одной дате выполнено несколько услуг. Скрин таблиц во вложении.

К сообщению приложен файл. Размер - 9Kb
11 дек 18, 07:11    [21759761]     Ответить | Цитировать Сообщить модератору
 Re: Помочь нужна составлении выборки  [new]
aleks222
Member

Откуда:
Сообщений: 852
cross apply учи.
11 дек 18, 07:15    [21759764]     Ответить | Цитировать Сообщить модератору
 Re: Помочь нужна составлении выборки  [new]
El_Ninio
Member

Откуда:
Сообщений: 50
select t1.rf_TariffID, t1.DATE_P, Value1, TariffID from hlt_SMTAP t1
cross apply (Select Top 10 TariffID, Value1
from oms_Tariff
where TariffID in (select rf_TariffID from hlt_SMTAP where rf_TAPID=t1.rf_TAPID ) order by Value1 ) t2
where t1.rf_TAPID=248842 and T1.rf_TariffID=t2.TariffID

Получил вот такое

7000 2018-11-02 00:00:00.000 1.37000 7000
7610 2018-11-02 00:00:00.000 0.30000 7610
7610 2018-11-02 00:00:00.000 0.30000 7610
7610 2018-11-02 00:00:00.000 0.30000 7610
7610 2018-11-02 00:00:00.000 0.30000 7610
7610 2018-11-02 00:00:00.000 0.30000 7610
7610 2018-11-02 00:00:00.000 0.30000 7610
7533 2018-11-22 00:00:00.000 0.61000 7533

Как теперь отсюда отсеять из одинаковых дат оставляя только одну услугу с минимальной суммой т.е надо сравнить из этого

7000 2018-11-02 00:00:00.000 1.37000 7000
7610 2018-11-02 00:00:00.000 0.30000 7610
7610 2018-11-02 00:00:00.000 0.30000 7610
7610 2018-11-02 00:00:00.000 0.30000 7610
7610 2018-11-02 00:00:00.000 0.30000 7610
7610 2018-11-02 00:00:00.000 0.30000 7610
7610 2018-11-02 00:00:00.000 0.30000 7610

и оставить любую где меньше сумма.
11 дек 18, 14:29    [21760346]     Ответить | Цитировать Сообщить модератору
 Re: Помочь нужна составлении выборки  [new]
court
Member

Откуда:
Сообщений: 1956
El_Ninio
Select Top 10
...
оставляя только одну услугу с минимальной суммой
если тебе нужна одна, то зачем же ты ТОП 10 делаешь ?

и по правилам начни уже оформлять свои сообщения
Рекомендации по оформлению сообщений в форуме
11 дек 18, 15:12    [21760419]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить