Как производить вид, где одна из колонн смогла происходить от двух ссылок?

У меня есть 3 подмостков в базе данных в Firebird:

TSERVICIOOFRECIDO(
    IFOLIO,
    VPERSONARFC,
    VSERVICIOCODIGO,
    VEMPLEADORFC,
    DASERVICIOFECHA,
    DESERVICIOHONORARIOS,
    VPAGADO
)
TFISICA(
    VFISICARFC,
    VFISICANOMBRE
)
TMORAL(
    VMORALRFC,
    VMORALRAZONSOCIAL
)

Таблица TSERVICIOOFRECIDO снабди ссылками так в TFISICA как в TMORAL в поле VPERSONARFC

Я хочу создать Вид, который бы, где он смог видеть общественное имя / разум клиента в как стоимость rfc, а именно, который ищет rfc в одной из подмостков, и если он это не находит, это искал в другой, чем-то как:

CREATE VIEW VISTACLIENTE(NOMBRE_CLIENTE) AS SELECT TFISICA.VFISICANOMBRE OR 
TMORAL.VMORALRAZONSOCIAL FROM TSERVICIOOFRECIDO JOIN TFISICA ON 
TSERVICIOOFRECIDO.VPERSONARFC=TFISICA.VFISICARFC OR TSERVICIOOFRECIDO JOIN 
TMORAL ON TSERVICIOOFRECIDO.VPERSONARFC=TMORAL.VMORALRFC

Не, если я объясняюсь хорошо

0
задан 06.03.2019, 16:36
1 ответ

Podr¦-схвати использовать condici¦n IIF

CREATE VIEW VISTACLIENTE(NOMBRE_CLIENTE) AS

SELECT iif( TFISICA.VFISICANOMBRE = NULL, TMORAL.VMORALRAZONSOCIAL, TFISICA.VFISICANOMBRE )

FROM TSERVICIOOFRECIDO

LEFT JOIN TFISICA ON TSERVICIOOFRECIDO.VPERSONARFC=TFISICA.VFISICARFC

LEFT JOIN TMORAL ON TSERVICIOOFRECIDO.VPERSONARFC=TMORAL.VMORALRFC

И también ты должен использовать LEFT JOIN для того, чтобы оба снабженных ссылками подмостков были включены в консультацию, у них были или у них не было данных.

1
ответ дан 19.11.2019, 22:31
  • 1
    Это resolvió проблема, большое спасибо. Только деталь, в " TFISICA.VFISICANOMBRE = NULL" не я funcionó такой, который используя Firebird 2.5, вместо этого utilicé " TFISICA.VFISICANOMBRE IS NULL" и решенная проблема, равного способа спасибо. – Gerardo Sanchez 07.03.2019, 08:57