Eae gente, estou com outro problema, talvez similar... preciso trazer a descricao da fase quando a data na tabela ideia_fase tiver a maior data e preciso trazer a data de inclusão através da tabela ideia_fase quando o cod_fase for igual a 1.
Selecionar tudo
cretae table categoria(
cod NUMBER,
descricao VARCHAR2(30));
insert into categoria values(1,'Amador');
create table ideia(
cod NUMBER,
titulo VARCHAR2(30),
descricao VARCHAR2(4000),
cod_categoria NUMBER,
sigla_divisao VARCHAR2(30));
insert into ideia values(1,'teste','teste',1,'Zoo');
create table vw_usuarios_banco_ideias(
nome VARCHAR2(50),
cod_login VARCHAR2(50));
insert into vw_usuarios_banco_ideias values('Rafael Rodrigues','rafaelr');
create table usuario(
cod NUMBER,
login VARCHAR2(50));
insert into usuario values(1,'rafaelr');
create table usuario_ideia(
cod NUMBER,
data TIMESTAMP(6),
cod_usuario NUMBER,
cod_ideia NUMBER);
insert into usuario_ideia values(1,08/06/12 15:26:54,1,1);
create table fase(
cod NUMBER,
situacao VARCHAR2(30));
insert into fase values(1,'Analise');
insert into fase values(2,'Discussao');
insert into fase values(3,'Planejamento');
create table ideia_fase(
cod NUMBER,
data TIMESTAMP(6),
cod_ideia NUMBER,
cod_fase NUMBER);
insert into ideia_fase values(1,'06/06/12 15:03:02',1,1);
insert into ideia_fase values(2,'07/06/12 17:54:30',1,2);
insert into ideia_fase values(3,'08/06/12 08:22:44',1,3);
Realizei a seguinte query
Selecionar tudo
SELECT i.cod AS "Código",
i.titulo AS "Titulo",
SUBSTR(i.descricao,1,250) AS "Descrição",
vw.nome AS "Autor",
cat.descricao AS "Categoria",
fs.situacao AS "Situação",
i.sigla_divisao AS "Unidade",
TO_CHAR(ifase2.data,'dd/mm/yyyy') AS "Data de Inclusão"
FROM ideia i, usuario u, vw_usuarios_banco_ideias vw, usuario_ideia ui, ideia_fase ifase, fase fs, categoria cat, ideia_fase ifase2
WHERE i.cod_categoria = cat.cod AND i.cod = ui.cod_ideia AND ui.cod_usuario = u.cod AND u.login = vw.cod_login AND i.cod = ifase.cod_ideia AND ifase.cod_fase = fs.cod AND i.cod = ifase2.cod_ideia AND ifase2.cod_fase = fs.cod AND ui.data = (SELECT MAX(data) FROM usuario_ideia WHERE cod_ideia = ui.cod_ideia) AND ifase.data = (SELECT MAX(data) FROM ideia_fase WHERE cod_ideia = i.cod)
Mas ele retorna a maior Data de Inclusão assim
Selecionar tudo
Código Titulo Descrição Autor Categoria Situação Unidade Data de Inclusão
1 Teste Teste Rafael Rodrigues 1 Planejamento Zoo 08/06/12