이 질문이 전에 부탁되었으므로 올바른 방향으로 조종하도록 도와주세요. 제 질문은 이것입니다.SQL Join을 여러 번 추가 할 경우
나는 2 개 테이블에서 판매 데이터를 수집하여 SQL 쿼리가 - CustomerInvoice
및 CustomerInvoiceDetail
CustomerInvoice
등 고객의 이름과 송장에 대한 일반 데이터를 포함, 등 해결을뿐만 아니라화물의 양이 포함되어 있습니다.
예 테이블 데이터 (송장 번호 당 하나 개의 레코드) :
╔══════════════╦═══════════════╦════════════════════════════╦═════════╗
║ Invoice Code ║ Customer Name ║ Address ║ Freight ║
╠══════════════╬═══════════════╬════════════════════════════╬═════════╣
║ INV-200000 ║ ABC Co ║ 1 Apple Street, FRUITVILLE ║ 20 ║
╚══════════════╩═══════════════╩════════════════════════════╩═════════╝
CustomerInvoiceDetail
송장에서 각 개별 항목에 대한 정보가 포함되어 있습니다. 하나의 송장에는 여러 개의 개별 항목이있는 경우가 많습니다.
예 테이블 데이터 (송장 번호 당 여러 레코드)
╔══════════════╦═════════════╦══════════╦═══════╦══════════╗
║ Invoice Code ║ Part Number ║ Quantity ║ Price ║ ExtPrice ║
╠══════════════╬═════════════╬══════════╬═══════╬══════════╣
║ INV-20000 ║ 50505 ║ 2 ║ 5 ║ 10 ║
╠══════════════╬═════════════╬══════════╬═══════╬══════════╣
║ INV-20000 ║ 51325 ║ 3 ║ 2 ║ 6 ║
╚══════════════╩═════════════╩══════════╩═══════╩══════════╝
이것은,화물 $은 40 것이다 샘플 케이스에 의미하는 CustomerInvoice
테이블에서 여러 결과 내 JOIN
결과를 의미한다 : 2 라인 항목 x 20 달러화물. 다음과 같이
내 쿼리는
나는 현재지고있어 무엇, 판매 가격 + (화물은 (테이블 CustomerInvoiceDetail
에) 라인 항목의 수에 의해 (표 CustomerInvoice
에)화물의 양을 곱 * 라인의 수 CustomerInvoiceDetail
의 항목) 내가 필요한 것은
, 샘플의 경우화물의 판매 가격 + 하나 개의 인스턴스이다 (10 + 6 + 20)
SELECT
SUM(cid.ExtPrice + ci.Freight) AS 'Sales'
FROM CustomerInvoice ci
JOIN CustomerInvoiceDetail cid ON ci.InvoiceCode = cid.InvoiceCode
사람이 어떤 제안이나 그들이 날 지점 수있는 자원이 있다면 이것을 연구하기 위해, 나는 가장 감사 할 것입니다! 다시 한번 감사드립니다.
원하는 출력은 무엇입니까? 아마도 그것은 나뿐이지만, 여기에 정확히 * 질문이 보이지 않습니다 ... 당신이 명확히 할 수 있습니까? – Santi
및 질문? – James
@Santi - 너뿐 아니라 ... –