когда я использую postgresql, я сталкиваюсь с проблемой. Вот код:
WITH t1 AS (
SELECT
TABLE_NAME AS TABELA
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
COLUMN_NAME LIKE 'nu_cns' )
SELECT
TABLE_NAME,
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME IN t1
Если я запустлю его, я получу ошибку:
ERROR: syntax error at or near "t1"
LINE 14: TABLE_NAME IN t1
^
SQL state: 42601
Character: 211
Но что странно, так это то, что если я заменю t1 целым подзапросом, он может успешно работать, как здесь:
WITH t1 AS (
SELECT
TABLE_NAME AS TABELA
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
COLUMN_NAME LIKE 'nu_cns' )
SELECT
TABLE_NAME,
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME IN (
SELECT
TABLE_NAME AS TABELA
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
COLUMN_NAME LIKE 'nu_cns' )
Видите ли, на самом деле подзапрос точно такой же с t1.Так почему первый не может работать?
Спасибо!