/ / Várias linhas no singleton select: Como fazer aparecer vários resultados? - sql, select, netbeans, singleton, linhas

Várias linhas em singleton select: Como fazer aparecer vários resultados? - sql, selecione, netbeans, singleton, linhas

Atualmente, estou tentando fazer com que vários números de telefone apareçam no NetBeans, mas parece que a consulta SQL para meu banco de dados está longe de ser perfeita. Ele sempre me diz: Várias linhas no singleton select.

O código permite que eu obtenha um número se pertencer a apenas uma pessoa; no entanto, existe um número que pertence a três pessoas, e eu preciso que todos esses três apareçam. Desde já, obrigado!

String telephoneQuery3 = "select * from HAS_COMPETENCE where aid = (select aid from EMPLOYEE where telephone = "" + telephone + "")";

Respostas:

0 para resposta № 1

Você está usando = quando você deveria usar in:

select *
from HAS_COMPETENCE hc
where hc.aid in (select e.aid from EMPLOYEE e where e.telephone = "" + telephone + "")

O problema é que a subconsulta está retornando mais de um valor. Com =, o mecanismo espera apenas um valor. o in corrige isso para esperar uma lista de valores.

Também adicionei alias de tabela à consulta. Isso identifica de quais tabelas os campos são provenientes - para evitar confusão para quem olha a consulta.


0 para resposta № 2

Em comparação com = só funciona se a expressão à direita retornar uma linha, de acordo com o uso IN

select * from HAS_COMPETENCE where aid IN (select aid from EMPLOYEE where telephone = "" + telephone + "")";