#sql #sql-server #join #union
#sql #sql-сервер #Присоединиться #объединение
Вопрос:
Я пытаюсь в конечном итоге получить сумму двух столбцов. Проблема в том, что сумма составлена из двух разных таблиц. В основном это tbl1-col1 tabl2-col1.
Я пытаюсь ОБЪЕДИНИТЬ ВСЕ, но проблема в том, что для извлечения правильных данных из обоих запросов, чтобы даже получить правильные данные в col1, мне нужно выбрать разные параметры для обоих запросов.
Очевидно, что я работаю с разными типами данных и заголовками заголовков, поэтому объединение не будет работать так, как я хочу.
-------------------------------query 1------------------------------------------------
SELECT
RECEIVABLE_LINE.AMOUNT AS Total,
RECEIVABLE_LINE.INVOICE_ID,
RECEIVABLE_LINE.LINE_NO,
RECEIVABLE_LINE.GL_ACCOUNT_ID,
RECEIVABLE.INVOICE_DATE,
RECEIVABLE.TYPE
FROM RECEIVABLE_LINE INNER JOIN RECEIVABLE ON RECEIVABLE_LINE.[INVOICE_ID] = RECEIVABLE.[INVOICE_ID]
WHERE RECEIVABLE_LINE.GL_ACCOUNT_ID LIKE '4%'
AND RECEIVABLE.INVOICE_DATE >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0)
AND RECEIVABLE.INVOICE_DATE < DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) 1, 0)
-------------------------------query 2------------------------------------------------
SELECT
SUM(SHIPPER_LINE.USER_SHIPPED_QTY*CUST_ORDER_LINE.UNIT_PRICE) AS 'Total',
SHIPPER_LINE.USER_SHIPPED_QTY,
CUST_ORDER_LINE.UNIT_PRICE,
SHIPPER.INVOICED_DATE,
SHIPPER.SHIPPED_DATE
--SUM(isnull(CAST('Total' AS decimal),0)) as 'Total of all totals'
FROM SHIPPER_LINE INNER JOIN SHIPPER ON SHIPPER_LINE.PACKLIST_ID = SHIPPER.PACKLIST_ID
LEFT JOIN CUST_ORDER_LINE ON SHIPPER_LINE.CUST_ORDER_LINE_NO = CUST_ORDER_LINE.LINE_NO AND SHIPPER_LINE.CUST_ORDER_ID = CUST_ORDER_LINE.CUST_ORDER_ID
WHERE SHIPPER.INVOICED_DATE Is Null
AND SHIPPER.SHIPPED_DATE BETWEEN '2020-09-01' AND '2020-09-10'
GROUP BY SHIPPER_LINE.USER_SHIPPED_QTY, CUST_ORDER_LINE.UNIT_PRICE, SHIPPER.INVOICED_DATE, SHIPPER.SHIPPED_DATE
ORDER BY SHIPPER.INVOICED_DATE
Какие у меня есть варианты на данный момент?
Комментарии:
1. Показать некоторые примеры данных и ожидаемые результаты… из вашего вопроса неясно, как именно вы хотите их объединить.
2. Вы хотите объединить итоговые суммы, суммированные с помощью INVOICE_DATE? Или таблицы будут сопоставлены по INVOICE_ID и LINE_NO? Непонятно, как это сочетается
3. Привет, спасибо за ответы. Мне трудно сформулировать это правильно, потому что я новичок в SQL. Имеет ли смысл, что мне нужно взять столбцы «Всего» из обоих запросов и сложить их вместе в сумму? Это моя конечная цель.