Разница между 3 значениями 2 таблиц - PullRequest
0 голосов
/ 14 февраля 2012

У меня есть 2 таблицы, например

id  att1 att2
1   34    56
2   45    12
3   34    11


id  att1 att2
1   14    10
2   25    2
3   14    10

Как получить разницу между 3 значениями, например

id      att1      att2
1-1=0  34-14=20  56-10=46
2-2=0  45-25=20  12-2 =10  
3-3=0  34-14=20  11-10=1 


SELECT A.id-B.id, A.att1-B.att1,A.att2-B.att2 from TABLEA as A join TABLEB as B...

Ответы [ 2 ]

3 голосов
/ 14 февраля 2012

Вы действительно не хотите вычитать один идентификатор из другого, не так ли?

SELECT
  A.id,
  A.att1 - B.att1,
  A.att2 - B.att2
FROM
  A JOIN B ON A.id = B.id
1 голос
/ 14 февраля 2012

Не уверен, что вы ищете, что вы еще не предоставили в своем вопросе.Вы имели в виду что-то подобное?

SELECT
    CAST(A.id AS VARCHAR(200)) + '-' +  CAST(B.id AS VARCHAR(200)) + '=' + CAST(A.id - B.id AS VARCHAR(200)) id
    ,CAST(A.att1 AS VARCHAR(200)) + '-' +  CAST(B.att1 AS VARCHAR(200)) + '=' + CAST(A.att1 - B.att1 AS VARCHAR(200)) att1
    ,CAST(A.att2 AS VARCHAR(200)) + '-' +  CAST(B.att2 AS VARCHAR(200)) + '=' + CAST(A.att2 - B.att2 AS VARCHAR(200)) att2
FROM
    TABLEA A
    INNER JOIN TABLEB B ON A.id = B.id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...