Member 13713322 Ответов: 2

Как найти разницу между двумя полями двух таблиц


у меня есть две таблицы A и B. обе таблицы имеют по 3 поля. 2 поля в обеих таблицах совпадают, так как одно из них - "идентификатор статьи", а другое - "стоимость". Эти 2 поля являются общими в обеих таблицах, и данные также являются общими. но третье поле в таблице а-это "qty_should_be", а в таблице в - "qty_present". Мне нужна разница между обоими полями в том, сколько акций меньше или больше, чем должно быть

Что я уже пробовал:

таблица а
ART0000024 180.00 100.00
ART0000024 1079.00 1000.00

таблица в
ART0000024 144 100.00
ART0000024 1099 1000.00

2 Ответов

Рейтинг:
2

_Asif_

Попробовать это

DECLARE @A TABLE
(
ARTICLE_ID VARCHAR(10),
COST NUMERIC(10, 2),
qty_should_be INT
)

DECLARE @B TABLE
(
ARTICLE_ID VARCHAR(10),
COST NUMERIC(10, 2),
qty_present INT
)

INSERT INTO @A(ARTICLE_ID, COST, qty_should_be)
SELECT 'ART0000024', 180,	100
UNION ALL
SELECT 'ART0000024', 1079,	1000

INSERT INTO @B(ARTICLE_ID, COST, qty_present)
SELECT 'ART0000024', 144,	100
UNION ALL
SELECT 'ART0000024', 1099,	1000

SELECT A.Article_ID, Sum(qty_should_be) - Sum(Qty_Present)
FROM @A A
      LEFT OUTER JOIN @B  B ON A.Article_ID = B.Article_ID
group by A.Article_ID


Рейтинг:
1

OriginalGriff

Попробуй:

SELECT a.[Article ID], a.qty_should_be - b.qty_present
FROM TableA a
JOIN TableB b ON a.[Article ID] = b.[Article ID]