Есть такая бд с таблицами.
Допустим есть 3 секции(sections), в каждой секции разное кол-во уроков(lessons), для каждого аккаунта предусмотрен отчет(reports) по каждому уроку. Состояние checked может менять только определенная группа юзеров.
Суть вопроса:
Имеется какой-то id аккаунта. Надо получить выборку секций, которые он прошел. Скажем если юзер с id = 100 прошел все уроки 1 секции(прошел: reports.checked = 1), и 2 урока из 5-ти во 2 секции, то запрос должен вернуть данные только по 1 секции.
Запрос в студию пожалуйста
вроде все просто: внутри находим секции, в которых отсутствуют отмеченные уроки. снаружи находим секции, для которых не существует секции с отсутствующими отмеченными. такое двойное отрицание )
select * from sections
where not exists (
select top 1 * from sections as s
join lessons as l on (s.Id = l.section_id)
where s.Id = sections.Id
and not exists (
select * from reports as r
where l.id = r.lesson_id
and r.checked = 1
)
)
или с явно разделенными логическими частями запроса
with notChecked as (
select s.id from sections as s
join lessons as l on (s.Id = l.section_id)
where not exists (
select * from reports as r
where l.id = r.lesson_id
and r.checked = 1
)
)
select * from sections
where not exists (
select top 1 * from notChecked
where sections.id = notChecked.id
)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Я отправляю post-запрос на сервер, а php даёт в ответ массив, но значения из массива я извлечь не могу
Как с помощью регулярки и php-функций заменить содержимое всех тегов xml файла на это же содержимое, но умноженное на 32? Нужно для импорта товаров...
Друзья можете подсказать как можно подключиться к БД через SSLЯ нашел в интернете такой код для подключение