Отображение или скрытие столбца в PostgreSQL в том же запросе - PullRequest
0 голосов
/ 03 ноября 2018

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

Я представляю себе решение, подобное этому:

SELECT
  accounts.email,
  IF( {{my JavaScript will return a boolean here}} )
    accounts.zip
WHERE accounts.email = 'none@none.com';

И если бы логическое значение было истинным, результат был бы:

+---------------+-------+
|     email     |  zip  |
+---------------+-------+
| none@none.com | 20500 |
+---------------+-------+

И если бы логическое значение было ложным, результат был бы:

+---------------+
|     email     |
+---------------+
| none@none.com |
+---------------+

Это вообще возможно?

1 Ответ

0 голосов
/ 03 ноября 2018

Вы не можете динамически изменять, какие столбцы выбрать в самом SQL; Вы должны сделать это на уровне приложения. Итак, если вам нужно следовать шаблону, который вы используете в существующем коде, вам нужно назначить столбцы в JavaScript, а не в SQL:

var query = 
`SELECT
  accounts.email
  { booleanResult ? ', accounts.zip' : '' }
FROM myTable
WHERE accounts.email = 'none@none.com'`

Таким образом, когда ваше логическое значение истинно, ваш запрос будет SELECT accounts.email, accounts.zip FROM .... Когда оно ложно, ваш запрос SELECT accounts.email FROM ....

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