SQL-запрос Объедините два запроса с помощью Sum () - PullRequest
2 голосов
/ 26 апреля 2019

Я знаю, что это просто для вас, sql, но я пытаюсь объединить два простых запроса в один.Из кода, вероятно, очевидно, что job.ActiveJob.ID = job.EstimateTbl.ID_Job.

Я пытаюсь получить: id, JobName, sum (itemAmount)

Спасибо за вашу помощь.

SELECT a.id, a.JobName
FROM job.ActiveJobsTbl AS a
WHERE a.ID = '100' 

SELECT SUM(itemAmount)
FROM job.EstimateTbl
WHERE ID_Job = '100'

Ответы [ 4 ]

5 голосов
/ 26 апреля 2019

Вы можете JOIN таблицы с помощью ON E.ID_Job = A.ID и получить значения в SELECT с помощью GROUP BY

SELECT A.id, A.JobName, SUM(E.itemAmount) AS Amount 
FROM job.ActiveJobsTbl AS A
INNER JOIN job.EstimateTbl E ON E.ID_Job = A.ID 
WHERE A.ID = '100'  
GROUP BY A.id, A.JobName;
1 голос
/ 26 апреля 2019

с использованием LEFT JOIN

SELECT a.id, a.JobName,EstimateTbl.itemAmount
FROM job.ActiveJobsTbl AS a
left join
( 
    SELECT SUM(itemAmount) itemAmount,ID_Job
    FROM job.EstimateTbl
    group by ID_Job
) EstimateTbl on  EstimateTbl.ID_Job = a.ID
WHERE a.ID = '100' 
0 голосов
/ 26 апреля 2019

Попробуйте это:

SELECT A.id, A.JobName, SUM(E.itemAmount) AS Amount 
FROM job.ActiveJobsTbl AS A
INNER JOIN job.EstimateTbl E ON E.ID_Job = A.ID 
WHERE A.ID = '100'
GROUP BY A.id, A.JobName;
0 голосов
/ 26 апреля 2019

Вы можете использовать APPLY:

select a.id, a.JobName, t.itemAmount 
from job.ActiveJobsTbl AS a OUTER APPLY
     (SELECT SUM(t.itemAmount) AS itemAmount
      FROM job.EstimateTbl AS t
      WHERE t.ID_Job = a.ID
     ) t
WHERE a.ID = 100; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...