EVILdoer
Guest
Значения NULL при несоответствии условиям LEFT JOIN в одной таблице.
Если строка не соответствует условиям LEFT JOIN,
то ВСЕ ЕЁ значения в результирущей таблице равны NULL,
особенно это обижает, когда работаешь с одной таблицей.
Запрос такой:
SELECT b1.id, b2.id
FROM board AS b1 LEFT JOIN board AS b2 ON b2.of = b1.id
WHERE b1.are = 10
Если b2.of в таблице нету, то и соответствующий b2.id тоже вырождается в NULL, как можно всё-таки получать его? Второй запрос делать не хочется.
Вообще: я пытаюсь сделать систему сообщений (форум), где разделы, темы и сообщения лежат в одной таблице. Are - статус: 10.. - раздел, 20.. - тема, 30.. - пост. Of - id того, чему принадлежит этот объект. У разделов - это 0. У темы - id раздела, у поста - id темы.
Если строка не соответствует условиям LEFT JOIN,
то ВСЕ ЕЁ значения в результирущей таблице равны NULL,
особенно это обижает, когда работаешь с одной таблицей.
Запрос такой:
SELECT b1.id, b2.id
FROM board AS b1 LEFT JOIN board AS b2 ON b2.of = b1.id
WHERE b1.are = 10
Если b2.of в таблице нету, то и соответствующий b2.id тоже вырождается в NULL, как можно всё-таки получать его? Второй запрос делать не хочется.
Вообще: я пытаюсь сделать систему сообщений (форум), где разделы, темы и сообщения лежат в одной таблице. Are - статус: 10.. - раздел, 20.. - тема, 30.. - пост. Of - id того, чему принадлежит этот объект. У разделов - это 0. У темы - id раздела, у поста - id темы.