Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2022, 23:21   #1
art2000
Новичок
Джуниор
 
Регистрация: 24.11.2022
Сообщений: 2
По умолчанию SQL-запрос

Здравствуйте
Есть 3 таблицы

1. Игроки
gamer_id ( 1...1000)
2. Игровые столы
table_id (1...100)
3. Прошедшие игры ( РАссадка)
table_id , gamer_id
1,3
1,4
1,5
2,1
2,2
2,6
55,2
....
Необходимо добавить запись в таблицу 3: любого игрока из таблицы 1 к столу 55 , при условии, что за столом 55 он еще не играл , и не учавствовал с любым другим игроком стола 55 в играх за другим столом( не играли вместе за другим столом)
art2000 вне форума Ответить с цитированием
Старый 25.11.2022, 09:48   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

1. игроки игравшие за 55 столом.
Код:
select gamer_id from games where table_id =55
2. игроки игравшие вместе с игроками 55 стола
Код:
select partner.gamer_id 
from games as person
inner games as partner on parther.table_id =person.table_id 
where parther.gamer_id in ( select ... --  список игроков за 55 столом см. п.1 
                                       )
3.0. игроки те которые играли сами или имели в партнерах
Код:
select gamer_id from igroks
where gamer_id IN ( select ....  ---п.1 
                            )
  or gamer_id  IN ( select ... п.2 
                         )
3.1. игроки исключая тех что есть в первых двух запросах
Код:
select gamer_id from igroks
where gamer_id not in ( select .... -- запрос из п.2
                       ) 
   and gamer_id not in  ( select ....  -- запрос из п.1
                     )
4.0. добавление из запроса ВСЕХ подходящих
Код:
insert into games ( gamer_id, table_id )
select gamer_id, 55 as table_id
..... --запрос из п.3
4.1. только одного
Код:
insert ....
select top 1 ....
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 25.11.2022, 12:59   #3
art2000
Новичок
Джуниор
 
Регистрация: 24.11.2022
Сообщений: 2
По умолчанию

Большое Вам Спасибо! Буду пробовать
art2000 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск