prajwal rao Ответов: 2

SQL-оператор, который будет отображать все продукты, которые покупает каждый клиент


У меня есть таблица клиентов и таблица продуктов.
Customer table column : (c_id,f_name,l_name,email,group,state, c_id is primary key)

Product Table column: (p_id,c_id,p_name,p_desc,time,c_id is foreign key).


Я хочу знать, как получить результат по нижеприведенному вопросу:

1) покажите все продукты, которые покупает каждый клиент.

2) используя Вопрос(1), покажите, сколько клиентов из каждого штата из этого запроса.

Я только начинаю изучать sql и сам начинаю учиться.Я не знаю погоды, я прав с нижеприведенными запросами. Пожалуйста, помогите мне.
Спасибо за помощь.

Что я уже пробовал:

Ответ:

1-й вопрос ответ:
SELECT DISTINCT p_name FROM PRODUCT;


2-й вопрос ответ :

SELECT A.state,B.p_name,count(A.state) AS Total 
FROM CUSTOMER AS A 
INNER JOIN PRODUCT AS B 
ON A.c_id=B.c_id GROUP BY STATE;

2 Ответов

Рейтинг:
17

Yovena Chintya

1. покажите все продукты, которые покупает каждый клиент.

* Я предполагаю, что вы хотите получить список всех продуктов, которые купил каждый клиент.

SELECT c_id, p_name
FROM PRODUCT
GROUP BY c_id


2. используя Вопрос(1), покажите, сколько клиентов из каждого штата из этого запроса.
SELECT p.p_name, c.state
FROM PRODUCT p JOIN CUSTOMER c
ON p.c_id = c.c_id


Во всяком случае, таблицы не соответствуют нормализации.
Вы должны разделить их на 3 таблицы, которые являются клиентами, продуктами и заказами. Не храните продукты и заказы в 1 таблице. Потому что если вы удалите продукт, то данные заказов тоже исчезнут.

Надеюсь, это поможет.


Рейтинг:
0

Patrice T

Цитата:
Я не знаю, насколько я прав с нижеприведенными запросами.
Есть простой способ узнать, является ли запрос правильным или нет: просто попробуйте, и вы увидите, соответствует ли ответ ожидаемому или нет.
Экспериментирование-отличный способ учиться. Чтобы протестировать запрос, начните с установки данных, отражающих 1 из обрабатываемых ситуаций, затем запустите запрос и проверьте ответ, а затем начните снова со следующего набора данных.

Вот отличный обучающий сайт
Учебник по SQL[^]