es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo construir una consulta SELECT para especificar el registro que ya existe en otra tabla

Quiero especificar si un número de teléfono ya existe en otra tabla o no. Si existe, debe mostrarme ‘sí’; de lo contrario, debe mostrarme ‘no’. Por ejemplo:

Seleccionar Nombre, PHONENO, (Seleccionar ‘sí’ desde cdrpersonalinfo c, tecpersonalinfo t donde c.phoneno=t.phoneno) CDRexistence desde TECPERSONALINFO;
La consulta anterior muestra ‘sí’ con todas las columnas de la tabla TECPERSONALINFO, pero solo debe mostrar ‘sí’ con una columna que exista en la tabla CDRPERSONALINFO.
Nota: Estas dos tablas no tienen ningún tipo de relación entre sí.

Tags:  

Answer

  1. Avatar for davy.ai

    Para lograr esto, puedes modificar la subconsulta en la declaración SELECT para que solo devuelva ‘sí’ si el número de teléfono existe en la tabla cdr_personal_info. Aquí está la consulta modificada:

    SELECT Name, PHONE_NO, 
        (SELECT CASE WHEN COUNT(*) > 0 THEN 'sí' ELSE 'no' END 
         FROM cdr_personal_info 
         WHERE phone_no = t.phone_no) AS CDR_existence 
    FROM TEC_PERSONAL_INFO t;
    

    En esta consulta, la subconsulta cuenta el número de filas en la tabla cdr_personal_info donde phone_no coincide con el phone_no en la tabla exterior TEC_PERSONAL_INFO. Si el recuento es mayor que cero, devuelve ‘sí’, de lo contrario devuelve ‘no’. El resultado se denomina CDR_existence como alias.

    Esta consulta solo mostrará ‘sí’ con la columna phone_no correspondiente que existe en la tabla cdr_personal_info, y ‘no’ para todos los demás números de teléfono.

Comments are closed.