Denodo / SQL - несколько условий для AND и OR в предложении WHERE - PullRequest
0 голосов
/ 14 мая 2019

Я фильтрую билеты на 2 таблицы в Денодо, которые записывают историю всех действий, которые были сделаны на билетах.Я хочу, чтобы столбец «Ключевые слова» был пустым, а шаблоны столбцов НЕ «temp ~».Я могу достичь первого условия отлично, а 2-го нет.Ну, ни одна строка из этого столбца больше не возвращает 'temp ~', но поскольку это историческая таблица, она возвращает другие действия, которые были выполнены в заявке, например.сохранить, выполнить, завершить, чтобы он по-прежнему возвращал номер билета, который я пытаюсь отфильтровать, и который я не хочу.

SELECT  A.ticket_number, A.created_on, A.keywords, B.Action
FROM table1 AS A LEFT JOIN
(SELECT MAX(action) as Action, ticket_number
FROM table2 GROUP BY ticket_number) AS B on A.ticket_number= B.ticket_number 
WHERE created_on>= '2019-04-15' AND(NOT B.Action= 'Templates~' AND A.keywords IS NULL)
Actual table:
ticket_number | created_on | keywords | Action
ticket1       | 2019-04-15 | dog      | Template1
ticket1       | 2019-04-15 | dog      | Save
ticket2       | 2019-04-17 | NULL     | no_temp
ticket3       | 2019-04-20 | NULL     | no_temp
ticket2       | 2019-04-17 | NULL     | no_temp

Current results:
ticket_number | created_on | keywords | Action
ticket1       | 2019-04-15 | NULL     | Save
ticket2       | 2019-04-17 | NULL     | working
ticket3       | 2019-04-20 | NULL     | Save
ticket2       | 2019-04-17 | NULL     | complete


Expected results:
ticket_number | created_on | keywords | Action
ticket2       | 2019-04-17 | NULL     | no_temp
ticket3       | 2019-04-20 | NULL     | no_temp

1 Ответ

0 голосов
/ 15 мая 2019

Глядя на предоставленную информацию, кажется, что результат правильный.

Условие WHERE запроса:

WHERE created_on>= '2019-04-15' AND(NOT B.templates = 'Templates~' AND A.keywords IS NULL)

Все строки Текущие результаты соответствуют этому условию.То есть

  • created_on равно или больше 2019-04-15
  • Значение templates подзапроса B равно , а не null.
  • Значение keywords равно null.
...