|
Камрады! Left outer join с фильтрацией по полю DATE - как?????
|
|||
---|---|---|---|
#18+
код двух таблиц CREATE TABLE athletes( id_athlete INT NOT NULL AUTO_INCREMENT, name VARCHAR(10), PRIMARY KEY(id_athlete) ); INSERT INTO athletes (name) VALUES ('Том'); INSERT INTO athletes (name) VALUES ('Марта'); INSERT INTO athletes (name) VALUES ('Катя'); INSERT INTO athletes (name) VALUES ('Ева'); INSERT INTO athletes (name) VALUES ('Людмила'); INSERT INTO athletes (name) VALUES ('Андрей'); INSERT INTO athletes (name) VALUES ('Виктор'); INSERT INTO athletes (name) VALUES ('Наталья'); INSERT INTO athletes (name) VALUES ('Егор'); CREATE TABLE winners_of_competitions( id_woc INT NOT NULL AUTO_INCREMENT, name_ivent VARCHAR(20), date_of_the_event DATE, first_place VARCHAR(20), second_place VARCHAR(20), third_place VARCHAR(20), PRIMARY KEY(id_woc) ); INSERT INTO winners_of_competitions (name_ivent, date_of_the_event, first_place, second_place, third_place) VALUES ('Чемпионат', '2018.08.02', 'Ева', 'Катя', 'Наталья'); INSERT INTO winners_of_competitions (name_ivent, date_of_the_event, first_place, second_place, third_place) VALUES ('Олимпиада', '2003.07.20', 'Том', 'Виктор', 'Андрей' ); Вопрос следующий. Получить список спортсменов, которые НЕ принимали участие ни в каких соревнованиях на протяжении определенного времени. Жаль что EXCEPT тут не прокатывает.. мой код: SELECT winners_of_competitions.first_place FROM winners_of_competitions LEFT JOIN athletes ON athletes.name = winners_of_competitions.first_place Все примеры которые я находил добавляли условие типа WHERE .... IS NULL но как быть в этой ситуации??? Да еще и отфильтровать по дате?!? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2020, 13:36 |
|
Камрады! Left outer join с фильтрацией по полю DATE - как?????
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Только это - список тех, кто не выигрывал. А насчёт просто принять участие - на показанных данных задача нерешаема, ибо данных об участии тут тупо нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2020, 14:51 |
|
Камрады! Left outer join с фильтрацией по полю DATE - как?????
|
|||
---|---|---|---|
#18+
Akina Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Только это - список тех, кто не выигрывал. А насчёт просто принять участие - на показанных данных задача нерешаема, ибо данных об участии тут тупо нет. большое спасибо, но... этот код выдает колонку winners_of_competitions.first_place со значениями NULL в каждой строчке. Принять участие еще раз задача не стоит, данные об участии в прошедшем соревновании это колонки first_place, second_place, third_place которые соответственно значат занятые места в соревновании. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2020, 15:05 |
|
Камрады! Left outer join с фильтрацией по полю DATE - как?????
|
|||
---|---|---|---|
#18+
Stanislav_SQL этот код выдает колонку winners_of_competitions.first_place со значениями NULL в каждой строчке. Код: sql 1. 2.
Могли бы самостоятельно поправить... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2020, 17:20 |
|
|
start [/forum/topic.php?fid=47&msg=39997668&tid=1828383]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
130ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 232ms |
0 / 0 |