MYSQL: написание запроса, в котором столбец является результатом логического выражения - PullRequest
2 голосов
/ 01 марта 2011

У меня есть таблица, где у меня есть столбцы, такие как:

deposit_received
paperwork_received
preferred_physician
preferred_physician_phone

Одно из представлений, которые мы используем эти данные, включает отображение отсутствия каких-либо этих данных. Я могу устроить это тривиально в PHP, но я бы предпочел сделать это в MySQL (он использует функцию сортировки фреймворка, если я могу сделать это в MySQL.

По сути, мне нужно написать запрос, который возвращает:

col1 | col2 | ... | (deposit_received == true && paperwork_received == true && preferred_physician != null && preferred_physician_phone != null)

Я рассмотрел некоторые функции, которые вы можете использовать, но я не могу обернуть голову вокруг него.

Заранее спасибо! Rob

Ответы [ 2 ]

3 голосов
/ 01 марта 2011

Вы всегда можете просто написать запрос:

SELECT col1, col2,
    (deposit_received
    AND paperwork_received 
    AND preferred_physician IS NOT NULL
    AND preferred_physician_phone IS NOT NULL)
  AS Result
FROM tableName

Скобки необязательны, однако это улучшает удобочитаемость.

0 голосов
/ 01 марта 2011

Посмотрите на функцию COALESCE для работы с NULL, например Функция «COALESCE» может упростить работу с нулевыми значениями. Например, чтобы рассматривать ноль как ноль, вы можете использовать:

select COALESCE(colname,0) from table where COALESCE(colname,0) > 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...