Utilizar nombres en consulta WHERE IN de MySQL

  • Autor Autor Aledky91
  • Fecha de inicio Fecha de inicio
Aledky91

Aledky91

Delta
Verificación en dos pasos activada
Hola amigos, como estamos..
Tengo una pequeña duda sobre mysql..

Tengo una consulta select con muchos nombre los cuales me gustaría utilizarlos dentro de otra consulta en el where in (). La verdad es que no se me ocurre nada para conseguirlo. Hay algún modo de hacer esto?
 
Buen día compañero, me gustaría ayudarte pero no entiendo muy bien lo que deseas, lo que logro entender es que quieres realizar una consulta realizando un select a algunas tuplas de una tabla especifica? Podrías ser un poco mas detallado por fa
 
Buen día compañero, me gustaría ayudarte pero no entiendo muy bien lo que deseas, lo que logro entender es que quieres realizar una consulta realizando un select a algunas tuplas de una tabla especifica? Podrías ser un poco mas detallado por fa

Hago una consulta a una tabla donde tengo registros con nombres. Lo que quiero es coger esos nombres con select y utilizarlos dentro de where in () para buscar datos en otra tabla.
 
Puedes usar el operador Union algo como esto:

Insertar CODE, HTML o PHP:
SELECT [B]NOMBRE [/B]FROM [B]TABLA1[/B]
UNION
SELECT [B]DATO [/B]FROM [B]TABLA2[/B]

Tendrás que sustituir los datos que marco en negro. Por otro lado si quieres realizar una consulta mas explicita puedes usar un INNER JOIN.
 
Puedes usar el operador Union algo como esto:

Insertar CODE, HTML o PHP:
SELECT [B]NOMBRE [/B]FROM [B]TABLA1[/B]
UNION
SELECT [B]DATO [/B]FROM [B]TABLA2[/B]

Tendrás que sustituir los datos que marco en negro. Por otro lado si quieres realizar una consulta mas explicita puedes usar un INNER JOIN.

Creo que no me has entendido por que no le veo la utilidad a ese codigo para mi problema (sin ofender)

Lo que yo quiero es hacer algo como esto:

select compras from t_compras where in (select nombres from t_nombres)

se que no funciona eso pero es para que te hagas una idea 😀
Gracias por la ayuda 😀
 
Lo que pasa es que las selecciones entre una o mas tablas se pueden realizar de distintas formas. Un ejemplo utilizando el WHERE IN seria algo así:

Insertar CODE, HTML o PHP:
SELECT Clientes.Compañia, Clientes.Telefono 
FROM Clientes 
WHERE  IdClientes IN (SELECT Pedidos.IdCliente FROM Pedidos)

Sin embargo necesitaría ver las tablas y los datos que quieres obtener para poder ayudarte mejor.
 
Faltan datos en tu tabla, pero el principal problema es que tu consulta es incorrecta

Insertar CODE, HTML o PHP:
select compras from t_compras where AQUI FALTA TU CAMPO in (select nombres from t_nombres)
 
Hola, por mas que pienses que no, practicamente funciona tu consulta:

select compras from t_compras where nombre in (select nombres from t_nombres)

lo unico que te falta es el campo a comparar, asumiendo que la tabla compras tenga un campo nombre. Sino, el campo que corresponda. SI compartis tus tablas es mas facil ayudarte

Saludos!
 
Última edición:
Buenas noches.

La sentencia anterior es correcta, se puede aplicar por ejemplo a un listado de las ventas realizadas en el estado "XX"

select * from t_ventas where cod_cliente in (select cod_cliente from t_clientes where estado='XX' )

o cualquier grupo de condiciones que se apliquen a las tablas; por ejemplo para una consulta de las ventas de contado, del mes de agosto, de los clientes clasificados como "Excelentes", ubicados en Madrid, el código puede ser algo como:

select * from t_ventas v where tipo_venta='CO' and mes_venta='08' and v.cli_cod in (select c.cli_cod from t_clientes c where cli_ubica='Madrid' and cli_clas='A' )

(código básico referencial, modelo para Oracle; se pueden anidar otras subtablas o agregar otras condiciones, etc.)

Saludos
 
Ya tienes la respuesta chavo, te faltaba el campo que querías coincidir dentro de la subconsulta
 
Esta consulta te puede ayudar, para que te des una idea de como se utiliza la propiedad (IN) en SQL.

Insertar CODE, HTML o PHP:
Select  idproducto,nombre,cantidad 
from DetalleFactura det  
where det.nombreproducto IN (select nombre_producto from productos)


Te dejo un link que te puede ayudar a comprender un poco mas la propiedad

https://dev.mysql.com/doc/refman/8.0/en/any-in-some-subqueries.html
 
Atrás
Arriba