Как выбрать столбец в SQL, только если присутствуют ненулевые значения?

#sql #postgresql

#sql #postgresql

Вопрос:

У меня есть столбец в postgresql с именем debt , который обычно содержит нулевые значения. Я использую инструкцию SQL для экспорта данных в файл CSV. Когда debt столбец имеет хотя бы одно ненулевое значение, я хочу экспортировать столбец. Но я хочу, чтобы он был скрыт, когда все значения равны нулю. Как я могу выполнить это с помощью SQL?

Вот текущая инструкция:

 COPY (
  SELECT
    e.name AS "Employee Name",
    e.title AS "Job Title",
    e.gross AS "Total Pay",
    e.total AS "Total Pay amp; Benefits",

    e.year AS "Year",
    e.notes AS "Notes",
    j.name AS "Agency",
    e.status AS "Status"

  FROM employee_employee e
  INNER JOIN jurisdiction_jurisdiction j on e.jurisdiction_id = j.id
  WHERE
      e.year = 2017 AND
      j.id = 564
 ORDER BY "Agency" ASC, "Total Pay amp; Benefits" DESC
) TO STDOUT WITH CSV HEADER;
  

Комментарии:

1. используйте фильтр в Excel и исключите нулевые значения

2. Вы не можете. SELECT Оператор имеет фиксированный набор столбцов. Если вам нужно переменное количество столбцов, то вам нужно использовать динамический SQL или несколько SELECT инструкций. Тем не менее, наличие переменного количества столбцов, по-видимому, усложняет процесс приема данных ниже по потоку.

Ответ №1:

выберите IFNULL(colname,»») из dbname