Select de registros acessados
Bom dia!
Tenho duas tabelas em meu projeto: Usuarios(UserCod,UserName,...) e Arquivos(ArqCod,ArqName,...). No caso um usuário da tbl Usuarios pode ver todos os registros da tbl Arquivos e um registro da tbl Arquivos pode ser visto por todos os usuários da tbl Usuarios.
Preciso fazer um select que mostre todos os registros da tabela Arquivos, mas que destaque o registro que um usuário visualizou(esse destaque continua mesmo o usuário fechando e abrindo o programa novamente). Pensei em criar uma outra tabela para inserir os registros que determinado usuário visitou, mas tive dificuldades na hora de montar o select.
Alguém pode dar um help?
Obrigado
Tenho duas tabelas em meu projeto: Usuarios(UserCod,UserName,...) e Arquivos(ArqCod,ArqName,...). No caso um usuário da tbl Usuarios pode ver todos os registros da tbl Arquivos e um registro da tbl Arquivos pode ser visto por todos os usuários da tbl Usuarios.
Preciso fazer um select que mostre todos os registros da tabela Arquivos, mas que destaque o registro que um usuário visualizou(esse destaque continua mesmo o usuário fechando e abrindo o programa novamente). Pensei em criar uma outra tabela para inserir os registros que determinado usuário visitou, mas tive dificuldades na hora de montar o select.
Alguém pode dar um help?
Obrigado
Vilsoncerqueira
Curtidas 0
Respostas
Afarias
12/01/2005
vc foi no caminho certo.. deve montar uma tabela para registrar que arquivos cada usuário viu, essa tabela seria na forma (EX.):
TabelaX
------------------------------------------------
UserCod <-- código do usuário
ArqCod <-- código do arquivo
Data <-- data de visualização (opcional)
e o select seria na forma:
select * from arquivos a
inner join TabelaX x on (a.arqcod=x.arqcod)
where x.usercod=:par
T+
TabelaX
------------------------------------------------
UserCod <-- código do usuário
ArqCod <-- código do arquivo
Data <-- data de visualização (opcional)
e o select seria na forma:
select * from arquivos a
inner join TabelaX x on (a.arqcod=x.arqcod)
where x.usercod=:par
T+
GOSTEI 0
Vilsoncerqueira
12/01/2005
Obrigado pela ajuda!
Mas no caso eu queria mostrar na listagem tipo:
SELECT * FROM ARQUIVOS
e adicionar um campo ´status´, sendo que ele muda para Y se houver um registro na ´Tabelax´ e muda para N caso não exista.
Esse seria o ponto de minha dificuldade.
Sabe como montar o sql para esse caso?
Vilson
Mas no caso eu queria mostrar na listagem tipo:
SELECT * FROM ARQUIVOS
e adicionar um campo ´status´, sendo que ele muda para Y se houver um registro na ´Tabelax´ e muda para N caso não exista.
Esse seria o ponto de minha dificuldade.
Sabe como montar o sql para esse caso?
Vilson
GOSTEI 0
Afarias
12/01/2005
|Mas no caso eu queria mostrar na listagem tipo:
|SELECT * FROM ARQUIVOS
|e adicionar um campo ´status´, sendo que ele muda para Y se houver
|um registro na ´Tabelax´ e muda para N caso não exista.
select a.*, x.usercod from arquivos a
left join TabelaX x on (a.arqcod=x.arqcod and x.usercod=:par)
neste caso vai retornar [b:723138eb11]x.usercod = NULL[/b:723138eb11] para os arquivos não lidos pelo usuário e [b:723138eb11]x.usercod NULL[/b:723138eb11] para os lidos
T+
|SELECT * FROM ARQUIVOS
|e adicionar um campo ´status´, sendo que ele muda para Y se houver
|um registro na ´Tabelax´ e muda para N caso não exista.
select a.*, x.usercod from arquivos a
left join TabelaX x on (a.arqcod=x.arqcod and x.usercod=:par)
neste caso vai retornar [b:723138eb11]x.usercod = NULL[/b:723138eb11] para os arquivos não lidos pelo usuário e [b:723138eb11]x.usercod NULL[/b:723138eb11] para os lidos
T+
GOSTEI 0
Vilsoncerqueira
12/01/2005
valew!
GOSTEI 0