Я должен знать это - но я не знаю, может кто-нибудь помочь мне с синтаксисом плз.
Допустим, я отслеживаю бегунов в эстафете по пересеченной местности, у меня есть основной стол соединения, который связывает бегунов с гонками ... и таблица бегунов, которая сообщает мне, где / когда они начали свою ногу и где / когда они закончились ... есть также контрольно-пропускные пункты, которые регистрируются вдоль маршрута.
Требуется, чтобы у каждого бегуна была начальная и конечная точка - ОДНАКО, это не всегда вводится правильно * - Мне нужен запрос, чтобы вывести бегунов, которые НЕ имеют ОБОИХ типов записей в гонке.
(* да, я исправляю сторону ввода данных)
Thx
СТРУКТУРА:
RACE TABLE
raceID (int)
runnerID (int)
STOPS TABLE
runnerID (int)
stopTypeID (int) -- fk to stop type
when (timestamp)
sequence (smallint)
На самом деле у меня еще ничего нет, потому что я чувствую, что мне нужно ...
базовый Q для получения раннеров и гоночных логов - это
SELECT *
FROM RACES R
JOIN STOPS S ON S.runnerID = R.runnerID
WHERE R.RaceID = 133
RESULTS
1 = start
2 = check point
3 = rest point
4 = end
RACEID RUNNERID STOPTYPEID
133 21 1
133 21 4
133 21 3
133 21 2
133 21 2
133 21 2
133 21 2
133 21 2
133 23 2
133 23 2
133 23 2
133 23 2
133 23 4
Обратите внимание, что бегуну 23 не хватает типа '1' (начало)
Мне нужен список бегунов в гонке, в которых отсутствуют данные ... Если я скажу, что 1 и 4 ТРЕБУЮТСЯ ....
(спасибо, извините, что не опубликовали необходимые данные)