Autor Tema: consulta sql  (Leído 235 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Ever Cerna

  • Megabyte
  • ***
  • Mensajes: 113
  • Reputación: +1/-1
  • anarkia99-Soft.
    • Ver Perfil
consulta sql
« en: Noviembre 08, 2023, 04:35:51 pm »
Hola buenas tardes,

Disculpen las molestias, haber si me pueden orientar un poco estoy haciendo una consulta en el DataEnvironment de vb 6.0 en la cual tengo mi siguiente consults SQL.

Código: [Seleccionar]
SELECT TBArticulos.Stock_Actual, TBArticulos.UnidMed, L_D_P.IDLista, L_D_P.Nombres, TBArticulos.IDArticulo, TBArticulos.Nombre, TBArticulos.isActive
FROM L_D_P INNER JOIN (TBArticulos INNER JOIN ART_PRE ON TBArticulos.IDArticulo = ART_PRE.IDArticulo) ON L_D_P.IDLista = ART_PRE.IDLista
GROUP BY TBArticulos.Stock_Actual, TBArticulos.UnidMed, L_D_P.IDLista, L_D_P.Nombres, TBArticulos.IDArticulo, TBArticulos.Nombre, TBArticulos.isActive
HAVING (((L_D_P.Nombres)="MADERA" AND (TBArticulos.Stock_Actual)>0))
ORDER BY TBArticulos.Nombre;

Bueno al realizar dicha consulta me muestra el stock de los productos pero los estoy agrupando por familias, pues bien lo que necesito es que muestre todas las familias de los artículos menos los de explosivos, como podría hacer la consulta, en el código puse solo "MADERA" obviamente me muestra los artículos de esa familia, tengo un monto de familias pero solo quiero excluir dos familias, espero me haya dejado entender,

Gracias de antemano.

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:consulta sql
« Respuesta #1 en: Noviembre 16, 2023, 02:47:09 am »
Si deseas excluir dos familias específicas, puedes ajustar la cláusula HAVING en tu consulta. Supongamos que las dos familias que deseas excluir son "EXPLOSIVO1" y "EXPLOSIVO2". Puedes modificar la cláusula HAVING de la siguiente manera:
Código: [Seleccionar]
SELECT
    TBArticulos.Stock_Actual,
    TBArticulos.UnidMed,
    L_D_P.IDLista,
    L_D_P.Nombres,
    TBArticulos.IDArticulo,
    TBArticulos.Nombre,
    TBArticulos.isActive
FROM
    L_D_P
    INNER JOIN (
        TBArticulos
        INNER JOIN ART_PRE ON TBArticulos.IDArticulo = ART_PRE.IDArticulo
    ) ON L_D_P.IDLista = ART_PRE.IDLista
GROUP BY
    TBArticulos.Stock_Actual,
    TBArticulos.UnidMed,
    L_D_P.IDLista,
    L_D_P.Nombres,
    TBArticulos.IDArticulo,
    TBArticulos.Nombre,
    TBArticulos.isActive
HAVING
    L_D_P.Nombres NOT IN ("EXPLOSIVO1", "EXPLOSIVO2") AND TBArticulos.Stock_Actual > 0
ORDER BY
    TBArticulos.Nombre;


En esta modificación, he cambiado la condición en la cláusula HAVING para excluir las familias "EXPLOSIVO1" y "EXPLOSIVO2" utilizando la expresión NOT IN. Ajusta las familias según sea necesario.


Gepeto.
Me encuentras en YAcosta.com

Ever Cerna

  • Megabyte
  • ***
  • Mensajes: 113
  • Reputación: +1/-1
  • anarkia99-Soft.
    • Ver Perfil
Re:consulta sql
« Respuesta #2 en: Febrero 14, 2024, 05:55:36 pm »
Muchas gracias @YAcosta ahora si tengo perfecto el reporte que deseaba realizar.