powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос
2 сообщений из 2, страница 1 из 1
Помогите составить запрос
    #40100241
Eugene_Der
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый день!
Помогите пожалуйста составить запрос.
Предположим, у нас есть база данных, состоящая из 4 таблиц. Первая таблица это аккаунты покупателей, вторая - карточки продуктов, третья - транзакции, четвертая - данные о производителях продуктов.
Например, у Васи куплены яблоки из Китая, яблоки из Польши, яблоки из России. У Маши куплены яблоки из Польши и России. А у Паши только яблоки из России.
Как мне составить запрос таким образом, чтобы из всех покупателей мне вернулся только тот, у которого в покупках ТОЛЬКО яблоки из России и больше никаких других яблок не куплено вообще? То есть, мне нужно чтобы вернулся только Паша, а Вася и Маша нет, хотя у них тоже в покупках есть яблоки из России.
...
Рейтинг: 0 / 0
Помогите составить запрос
    #40100514
AndrewS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene_Der,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
-- MySQL 8.0:
select u
from
(   select column_0 u, column_1 c, column_2 n 
    from 
    (values row( 'u1', 'c1', 100)
        ,   row( 'u1', 'c1', 101)
        ,   row( 'u1', 'c2', 102)
        ,   row( 'u1', 'c3', 104)
        ,   row( 'u2', 'c1', 201)
        ,   row( 'u2', 'c2', 202)
        ,   row( 'u3', 'c1', 301)  -- < хотим выбрать его
        ,   row( 'u4', 'c2', 400)
    ) as raw_data
) as tx
group by u
having count(*) = 1
and max(c) = 'c1'


Код: plaintext
1.
2.
3.
| u |
+---+
| u3|
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите составить запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]