/ / Múltiples filas en singleton select: ¿Cómo hacer aparecer varios resultados? - sql, select, netbeans, singleton, filas

Múltiples filas en singleton select: ¿Cómo hacer que aparezcan varios resultados? - sql, select, netbeans, singleton, filas

Actualmente estoy tratando de hacer aparecer varios números de teléfono en NetBeans, pero parece que la consulta SQL para mi base de datos está lejos de ser perfecta. Siempre me dice: varias filas en singleton select.

El código me permite obtener un número si solo pertenece a una persona, sin embargo, hay un número que pertenece a tres personas, y necesito que aparezcan todos esos tres. ¡Gracias por adelantado!

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

Respuestas

0 para la respuesta № 1

Tu estas usando = cuando deberías usar in:

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

El problema es que la subconsulta devuelve más de un valor. Con =, el motor solo espera un valor. los in corrige esto por lo que espera una lista de valores.

También agregué alias de tabla a la consulta. Esto identifica de qué tablas provienen los campos, para evitar confusión para alguien que mira la consulta.


0 para la respuesta № 2

Comparado con = solo funciona si la expresión a su derecha devuelve una fila, uso insetad IN

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