Запрос для определения типа строки по номеру строки - PullRequest
0 голосов
/ 10 марта 2020

У меня есть эта таблица:

My Table

Существует два разных типа записей: записи, в которых третий, четвертый и пятый столбцы равны нулю, и записи где только шестой столбец является нулевым. Мне нужен запрос (который я позже вставлю в код php), который, на основе номера строки , позволяет мне определить, является ли это запись первого типа или второго типа , Например, строка 1 -> первый тип, строка 2 -> первый тип, строка 3 -> второй тип, ... Есть идеи?

Ответы [ 3 ]

3 голосов
/ 10 марта 2020

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

SELECT *,
    CASE WHEN email_cliente IS NULL
         THEN 1
         WHEN date_inizio IS NULL AND date_fine IS NULL AND id_prodotto IS NULL
         THEN 2 ELSE 3 END AS type
FROM yourTable;
1 голос
/ 10 марта 2020

Пожалуйста, убедитесь, что вы не добавляете таблицы в качестве скриншотов. Это то, что вам нужно, замените значения col реальными именами. Если есть только два типа, тогда вам просто нужен один оператор case, чтобы проверить, являются ли 3 столбца null или нет. Если они не null, то запись относится ко второму типу.

   select 
    col1,
    col2,
    case when col3 is null and col4 is null and col5 is null then 'second_type' else 'first_type' end
    from table 
0 голосов
/ 10 марта 2020

Для краткости вы можете использовать coalesce

 select *, case when coalesce (date_inizio, date_fine, id_prodotto) is null then 'type2' 
                else 'type1' end as type
 from your_table;
...