Я уверен, что этот вопрос задан раньше, поэтому, пожалуйста, помогите мне в правильном направлении, если так, но мой вопрос в этом.SQL Join вызывает несколько добавлений
У меня есть SQL-запрос, который собирает данные о продажах от 2-х таблиц - 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 ║
╚══════════════╩═════════════╩══════════╩═══════╩══════════╝
Это означает, мои JOIN
результаты в нескольких результатов из CustomerInvoice
таблицы, то есть в случае образца, перевозка будет $ 40: линия 2 пункты х $ 20 фрахта.
Мой запрос следующим образом, умножает количество грузов (на столе CustomerInvoice
) по количеству позиций (на столе CustomerInvoiceDetail
)
Что я сейчас получаю, является цена продажи + (фрахт * номер строки пункты 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 - не только вы ... –