Начало » Использование СУБД » Microsoft SQL Server » Выделить данные из 2-х таблиц (Получить данные)
Выделить данные из 2-х таблиц [сообщение #2004] |
Thu, 06 April 2023 18:40 |
Mansso
Сообщений: 1 Зарегистрирован: April 2023
|
Junior Member |
|
|
Всем привет.Подскажите пож-та,как решить проблему.
Есть 2 таблицы
DECLARE @Table1 table (tid int,qty decimal(25,6))
insert into @Table1 (tid,qty)
values(2239,1)
,(2239,1)
,(2239,1)
DECLARE @Table2 table (tid int,qty decimal(25,6))
insert into @Table2 (tid,qty)
values(2239,3)
select *
from @Table1
except
select *
from @Table2
На выходе полчаем 1 запись
tid qty
2239 1
Понимаю,что запрос глупый,но как мне получить итоговую таблцу,в которой будут такие строчки
DECLARE @Table1 table (tid int,qty decimal(25,6))
insert into @Table1 (tid,qty)
values(2239,1)
,(2239,1)
select *
from @Table1
Т.е.,так
tid qty
2239 1
2239 1
|
|
|
Re: Выделить данные из 2-х таблиц [сообщение #2038 является ответом на сообщение #2004] |
Mon, 10 April 2023 14:02 |
shigor
Сообщений: 26 Зарегистрирован: March 2023 Географическое положение: НиНо
|
Junior Member |
|
|
если я правильно интерпретировал Вашу цель, т.к. точных условий не озвучено, то
;with t1 as (
select tid, qty, sum(qty) over (partition by tid order by (select null) rows between unbounded preceding and current row) cumulative_qTy from @Table1
)
select t1.tid, t1.qty
from t1 left join @Table2 t2 on t1.tid = t2.tid and t1.cumulative_qTy >= t2.qty
where
t2.tid is null
|
|
|
Переход к форуму:
Текущее время: Sun Dec 29 05:38:50 GMT+3 2024
Общее время, затраченное на создание страницы: 0.00779 секунд
|