Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Left join строки с данными и null / 3 сообщений из 3, страница 1 из 1
15.03.2018, 11:23
    #39615254
Dimitry85
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Left join строки с данными и null
Здравствуйте.
есть такая структура:
...
Рейтинг: 0 / 0
15.03.2018, 11:45
    #39615272
Dimitry85
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Left join строки с данными и null
Есть БД со след структурой:

user:

- user_id
- user_name

plans:

- plan_id
- plan_name

user-plan:
- id_plan_user
- user_id
- plan_id

План может быть закреплен за несколькими пользователями, так и еще не закреплен вовсе.
Необходимо вывести для пользователя все планы со статусом "выполняется" или "выполнить" (в зависимости от того, является ли пользователь исполнителем или может нажать кнопку и присоединиться к исполнению).

написал следующее:
Код: plsql
1.
2.
3.
4.
SELECT plans.plan_name
            FROM user-plan as t1 
            LEFT JOIN plans as t2 ON ( user-plan.plan_id = plans.plan_id )
            WHERE ( t2.user_id = :userId or t2.user_id IS NULL )



но запрос работает не верно, поскольку если план выполняет другой пользоваетель, то значения Null не будет. помогите.
...
Рейтинг: 0 / 0
15.03.2018, 20:20
    #39615648
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Left join строки с данными и null
Dimitry85запрос работает не верно, поскольку если план выполняет другой пользоваетель, то значения Null не будетЗапрос неверный - вот и работает неверно.
Во-первых, LEFT JOIN тут есть БСК. Должен быть INNER JOIN. А структура БД не должна позволять описывать в user-plan план, отсутствующий в plans - соответствующим FK.
Во-вторых, в таблице plans as t2 нет поля t2.user_id.
В третьих, даже если поправить всё вышеуказанное, отбор делает совсем не то, что описано в задании.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Left join строки с данными и null / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]