Вернуть другое значение, если строка не существует

StackOverflow https://stackoverflow.com/questions/1227907

  •  22-07-2019
  •  | 
  •  

Вопрос

В таблице базы данных с такой структурой:

Таблица 1

Name | Id
 A     1
 B     2

Таблица 2

Table1's ID | IntValue
     1           11
     2           66

теперь есть запрос, который объединяет две таблицы и выводит что-то вроде

A | 11
B | 66

но проблема в том, что когда, скажем, строка (A, 1) удаляется из таблицы1, запрос выводит

  | 11
B | 66

поэтому вместо записи A он оставляет его нулевым, потому что строка не существует.

Мой вопрос: вместо того, чтобы оставить его пустым, есть ли возможность заставить его написать "Item Inexisting"? или что-то?

Моя база данных - Firebird 2.1.2

Это было полезно?

Решение

SELECT  COALESCE(t1.name, 'Item nonexistent'), t2.intValue
FROM    table2 t2
LEFT OUTER JOIN
        table1 t1
ON      t1.id = t2.id
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top