Поиск записей без присоединенных записей или присоединенных записей, которые были помечены как удаленныеMySql

Форум по Mysql
Ответить Пред. темаСлед. тема
Anonymous
 Поиск записей без присоединенных записей или присоединенных записей, которые были помечены как удаленные

Сообщение Anonymous »

Две таблицы, s и c , находятся в отношениях с многими ко многим с CS в качестве средней таблицы. Каждая таблица имеет первичный ключ с именем идентификатором , а таблицы CS и c имеют столбец для удаленного (0 означает не удаляется, 1 означает удаление). Примечание: я не могу удалить записи из таблиц. Мой единственный вариант - установить del на 0 или 1 .

Код: Выделить всё

s    cs      c
--   -----   -------
id   c_id    id
s_id    del
del
Цель состоит в том, чтобы найти все записи S ​​, которые не имеют никаких записей c, что означает:
  • Не может быть CS records, или может быть только устранено CS wormes
  • . c записывает или присоединяется только к удалению c records.
Вот пример:

Код: Выделить всё

s.id
----
1
2
3

cs.del cs.s_id cs.c_id
------ ------- -------
0      1       @
0      1       $
1      1       #
0      3       @
0      3       #

c.id c.del
---- -----
@    1
$    0
#    1
Результаты:
  • .s.id = 1 Должно быть , потому что существует активная запись C через Cs.id = 2
    Найдено , потому что он объединен только для удаленных C -записей
Вот моя попытка
SELECT
s.id

FROM
s
LEFT JOIN cs on s.id = cs.s_id
LEFT JOIN c on c.id = cs.c_id

WHERE
(cs.del = 0 OR cs.del IS NULL)
AND (c.del = 0 OR c.del IS NULL)

GROUP BY
s.id

HAVING
COUNT(s.id) > 0
< /code>
К сожалению, он не работает (записей не найдено). Я пробовал много раз безрезультатно, поэтому я не уверен, что не так. Любая помощь будет очень оценена.

Подробнее здесь: https://stackoverflow.com/questions/797 ... n-marked-a
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «MySql»