Итак, я совершенно новой для SQL, но книга у меня из курсов я беру это бесполезно, и я пытаюсь сделать проект для указанного курса. Интернет не помог мне так много (я не знаю, с чего начать точно), поэтому я хочу попросить обе ссылки на хорошие учебники, чтобы проверить, а также помочь с очень конкретной частью запроса.SQL - сложный запрос с использованием внешних ключей
Если что-то я говорю не достаточно ясно, пожалуйста, спросите меня, чтобы объяснить! :)
Предположим, что две таблицы sale
и p_sale
в базе данных под названием jewel_store
.
sale
содержит две колонки: sale_CODE
и sale_date
p_sale
содержит sale_CODE
, который ссылается выше sale_ID
, p_ID
, p_sl_quantity
и p_sl_value
sale_CODE
является первичным ключом sale
и sale_CODE,p_ID
является первичным ключом p_sale
В настоящее время p_ID
не имеет большого значения, поэтому просто игнорируйте его по большей части.
p_sl_quantity
является int
и p_sl_value
является double(8,2)
. Первый - это количество купленного продукта, а второе - значение PER UNIT продукта.
Как очевидно, очевидно, что sale_CODE
может быть связан с множеством записей в таблице p_sale
(пример для sale_CODE 1, у меня есть 2 записи в p_sale).
Все это основано на том, что я получил от задачи и правильно реализован и имеет некоторые примерные значения.
Что теперь я должен сделать, это найти общий доход от продаж в определенный месяц. Мой первоначальный подход был начать структурировать весь шаг за шагом, так что я пришел к точке, которая выглядит как следующий образом:
SELECT SUM(p_sl_value * p_sl_quantity) AS sales_monthly_income, p_sale.sale_CODE FROM jewel_store.p_sale GROUP BY p_sale.sale_CODE
Это, вероятно, на полпути через, как я могу получить полные деньги продажи сгенерированных для магазин. Поэтому мой следующий шаг состоял в том, чтобы использовать этот запрос и SELECT. Я перепутал это пару раз, и теперь я почесываю голову. То, что я сделал так:
SELECT
SUM(sales_monthly_income),
sales_monthly_income,
EXTRACT(MONTH FROM jewel_store.sale.sale_date) AS sales_month
FROM (
SELECT
SUM(p_sl_value * p_sl_quantity) AS sales_monthly_income,
sale_CODE
FROM jewel_store.p_sale
GROUP BY sale_CODE
) as code_income, jewel_store.sale
GROUP BY sales_month
Во-первых, мне нужно только напечатать total_montly_income
и month
столбцы в моей окончательной форме, но я использовал это, чтобы уточнить, что все пошло не так, там. Я думаю, мне нужно каким-то образом использовать внешний ключ, который ссылается на другой стол, но моя книга совершенно бесполезна, помогая мне. Я хотел бы кто-то, чтобы объяснить, почему это так, и что право один будет и пожалуйста указать мне хороший PDF, сайт или что-нибудь, чтобы узнать, как сделать этот вид материала. (Я проверил w3schools, это хорошо для основы, но не слишком продвинутые вещи)
Заранее спасибо!
Я [рекомендовать ** не ** перейти к W3Schools] (http://www.w3fools.com/) .... –
я знаю, что, но для SQL вещи, как представляется, хорошо, плюс я могу действительно использовать форматирование списка, помогает! Тем не менее, мне нужны лучшие ресурсы, чем W3SCHOOLS! ;) –