SQL
Bom pessoal estou tentar separar os créditos, débitos e saldo da minha tabela de caixa, mas esta dando erro quando executo o sql, o erro é o seguinte:
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
VALOR_MOV.
At line 1, column 8.
A minha tabela de caixa é a seguinte:
A instrução SQL que estou usando é a seguinte:
Onde estou errando?
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
VALOR_MOV.
At line 1, column 8.
A minha tabela de caixa é a seguinte:
CAIXA_ID INTEGER NOT NULL,
DT_MOV DATE,
DATA_INC DATE,
DATA_ALT DATE,
HISTORICO VARCHAR(50) COLLATE PT_BR,
OPERACAO CHAR(1) COLLATE PT_BR,
BANCO_ID INTEGER,
VALOR_MOV DM_VALOR /* DM_VALOR = NUMERIC(15,2) */,
FGPTO_ID INTEGER,
SALDO_ATUAL NUMERIC(15,2),
CEDULA NUMERIC(15,2),
MOEDAS NUMERIC(15,2),
USU_ID DM_FK /* DM_FK = INTEGER */,
EMPRESA_ID DM_PK /* DM_PK = INTEGER NOT NULL */,
CEN_ID DM_FK /* DM_FK = INTEGER */
A instrução SQL que estou usando é a seguinte:
SELECT VALOR_MOV, OPERACAO FROM(
SELECT VALOR_MOV AS CREDITO, 0 AS DEBITO, OPERACAO
FROM caixa
WHERE OPERACAO = ´C´
UNION ALL
SELECT 0 AS CREDITO, VALOR_MOV AS DEBITO, OPERACAO
FROM caixa
WHERE OPERACAO = ´D´ )
GROUP BY VALOR_MOV, OPERACAO
Onde estou errando?
Setmaster2009
Curtidas 0
Respostas
Webjoel
27/12/2008
Olá!
É que no seu union all você está colocando um alias para o seu valor_mov, e com isso o seu primeiro select (primeira linha) se quebra. Segue abaixo a correção:
É que no seu union all você está colocando um alias para o seu valor_mov, e com isso o seu primeiro select (primeira linha) se quebra. Segue abaixo a correção:
SELECT CREDITO, DEBITO, OPERACAO FROM( SELECT VALOR_MOV AS CREDITO, 0 AS DEBITO, OPERACAO FROM caixa WHERE OPERACAO = ´C´ UNION ALL SELECT 0 AS CREDITO, VALOR_MOV AS DEBITO, OPERACAO FROM caixa WHERE OPERACAO = ´D´ ) GROUP BY CREDITO, DEBITO , OPERACAO
GOSTEI 0