#sql #postgresql #where-clause #information-schema
Вопрос:
Похоже, это не самый распространенный вариант использования, но я часто сталкиваюсь с ним. У меня есть несколько таблиц с аналогичной структурой, но разными псевдонимами столбцов. Например day
, против date
. Это затрудняет выработку общих WHERE
утверждений.
Мне любопытно, есть ли способ проверить и учесть это в автоматическом режиме.
Скажем, образец, table 1
выглядит так —
day id
2021-01-01 book
2021-02-01 movie
И образец table 2
выглядит примерно так —
date idd
2021-01-01 book
2021-02-01 movie
И table 3
имеет ту же структуру, что и table 1
day id
2021-01-01 book
2021-02-01 movie
Таким образом, данные существуют одинаково, но имя столбца другое. Как я мог бы создать общий WHERE
оператор, который работал бы для обеих этих таблиц. Проверка day
, существует ли, если да, то day
, если нет, то date
?
Я хотел бы иметь возможность использовать одно и то же SELECT WHERE
утверждение для обоих.
Комментарии:
1. как выглядел ваш запрос до того, как где?
2. так
SELECT * FROM table_1 WHERE day or date ...
или также может сделатьSELECT * FROM table_2 WHERE day or date
такWHERE
, чтобы синтаксис был согласованным