Olá, pessoal!
Estou com um probleminha que parece exercício de faculdade:
Preciso selecionar todos os registros de A que contenham SOMENTE um registro em B, sendo que o relacionamento entre os dois é
A --------C
Alguma idéia?
Olá, pessoal!
Estou com um probleminha que parece exercício de faculdade:
Preciso selecionar todos os registros de A que contenham SOMENTE um registro em B, sendo que o relacionamento entre os dois é
A --------C
Alguma idéia?
Posta su estrutura das tabelas …
Imagine as tabelas assim:
Tabela A:
id_A
Tabela B:
id_AC
id_A (fk)
id_C (fk)
Tabela C:
id_C
naquele formato
A——C
vê se isso lhe ajuda:
SELECT *
FROM tb_a a,
tb_b b
WHERE a.id_a = ( SELECT id_a
FROM tb_b
WHERE 1 = ( SELECT COUNT(*)
FROM tb_a ta,
tb_b tb
WHERE ta.id_a = tb.id_a ) )
Qual banco de dados está usando, dependendo do SGBD tem funções especificas para pegar a quantidade de linhas sem precisar fazer COUNT.
flw!
[quote=bruno_7317]Olá, pessoal!
Estou com um probleminha que parece exercício de faculdade:
Preciso selecionar todos os registros de A que contenham SOMENTE um registro em B, sendo que o relacionamento entre os dois é
A --------C
Alguma idéia?[/quote]
Isso em JPA, Hibernate ou JDBC com SELECT no braço ?
SELECTzão bare-hands mesmo…
To tentando puxar a consulta no Access. É idade das cavernas mesmo, mas é o que tem!
Você primeiro encontra todos os ids A que apareçam apenas uma vez em B:
SELECT ID_FKA
FROM TABELA_B
GROUP BY ID_FKA
HAVING COUNT(*) = 1
Depois é só fazer um join simples entre a tabela A e o resultado da consulta acima.