PostgreSQL объединяет таблицы с нулевой условной переменной - PullRequest
2 голосов
/ 01 ноября 2010

У меня проблема с моим SQL-запросом в PostgreSQL, когда я пытаюсь объединить множество таблиц.В разделе «ГДЕ» у меня есть несколько условий, в которых я сравниваю некоторые значения идентификаторов, например

operator.agent_id = app.operator_id;

Когда каждый идентификатор не имеет нулевого значения, все работает, но в случае, если даже один идентификатор равен нулю,когда результат запроса пуст.Могу ли я получить такой результат, что если один идентификатор равен нулю, то только значения из этой таблицы равны нулю, а остальные верны?

Если быть более точным, я программирую на Java, используя EJB3:

stringQuery = "SELECT .... FROM ... WHERE...";
Query query = entityManager.createNativeQuery(stringQuery);
List<Object[]> objects = query.getResultList();

Ответы [ 2 ]

1 голос
/ 01 ноября 2010
SELECT  *
FROM    app
LEFT JOIN
        operator
ON      operator.agent_id = app.operator_id
0 голосов
/ 01 ноября 2010

Переместите его в ваше объединение (левое объединение), если условие в предложении WHERE вызывает внутреннее соединение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...