Fórum Como usar INNER JOIN sem repetções de registros... #265870
18/01/2005
0
Estrurada das tabelas:
servico: servico_id, servico_nome, ramo_id, servico_ativo;
tabela_convenio: convenio_id, servico_id, valor, data;
SELECT * FROM servico as s INNER JOIN tabela_convenio as c ON (s.servico_id = c.servico_id)
Walfrido
Curtir tópico
+ 0Posts
19/01/2005
Adilsond
SELECT distinct * FROM servico as s INNER JOIN tabela_convenio as c ON (s.servico_id = c.servico_id)
ou
SELECT * FROM servico as s WHERE s.servico_id IN (SELECT DISTINCT c.servico_id FROM tabela_convenio as c)
Gostei + 0
19/01/2005
Aroldo Zanela
Para evitar expansão de dados, utilize todas as colunas que identifiquem exclusivamente um registro na cláusula [b:4375044612]ON[/b:4375044612]. Entretanto, acredito que a repetição mencionada está correta (produto cartesiano), minha sugestão é: utilize agrupamentos no relatório para representar ordenamente as informações. Exemplo:
============================== Servico: 99 - XXXXXXXXXXXXXXXX Convênio Data Valor -------- -------- ---------- 99999999 99/99/99 123.000,00 99999999 99/99/99 123.000,00 99999999 99/99/99 123.000,00 99999999 99/99/99 123.000,00 ============================== Servico: 99 - XXXXXXXXXXXXXXXX Convênio Data Valor -------- -------- ---------- 99999999 99/99/99 123.000,00 99999999 99/99/99 123.000,00 ============================== Servico: 99 - XXXXXXXXXXXXXXXX Convênio Data Valor -------- -------- ---------- 99999999 99/99/99 123.000,00 99999999 99/99/99 123.000,00 99999999 99/99/99 123.000,00 ...
Gostei + 0
19/01/2005
Walfrido
Usei a cláusula
SELECT DISTINCT *
FROM servico
INNER JOIN tabela_convenio
ON (servico.servico_id = tabela_convenio.servico_id)
mas não deu certo...
Aroldo tentei assim tbm, mas deu erro...
SELECT servico.servico_id, servico.servico_nome, servico.ramo_id, servico.servico_ativo, convenio.convenio_id, convenio.servico_id, convenio.tabela_valor, convenio.tabela_data
FROM servico as s
INNER JOIN tabela_convenio as c
ON (s.servico_id = c.servico_id)
tbm nao deu,
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)