Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

ayuda con consulta select basica

Estas en el tema de ayuda con consulta select basica en el foro de Bases de Datos General en Foros del Web. buenas tengo la tabla purchorderdetails, les dejo las columnas de interes orderno | stockid | completed 1 101 1 2 101 1 2 102 0 ...
  #1 (permalink)  
Antiguo 16/03/2010, 14:00
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
ayuda con consulta select basica

buenas

tengo la tabla purchorderdetails, les dejo las columnas de interes

orderno | stockid | completed
1 101 1
2 101 1
2 102 0
3 101 1
3 102 1

quiero hacer un select que me devuelva el orderno donde completed siempre es 1, osea lo que quiero es que con ese select solo me devuelva 1 y 3 ya que orderno tiene 0 para el producto 102

lo que tengo es
[sql]
SELECT * FROM purchorderdetails WHERE completed = 1
[/sql]

el problema que me devuelve 1,2,3 pq el 2 en algun momento es 1

alguien me ayuda ?, gracias.
  #2 (permalink)  
Antiguo 16/03/2010, 14:05
Avatar de agustincqc  
Fecha de Ingreso: enero-2010
Ubicación: Argentina
Mensajes: 96
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: ayuda con consulta select basica

Cita:
Iniciado por Death_Empire Ver Mensaje
buenas

tengo la tabla purchorderdetails, les dejo las columnas de interes

orderno | stockid | completed
1 101 1
2 101 1
2 102 0
3 101 1
3 102 1

quiero hacer un select que me devuelva el orderno donde completed siempre es 1, osea lo que quiero es que con ese select solo me devuelva 1 y 3 ya que orderno tiene 0 para el producto 102

lo que tengo es
[sql]
SELECT * FROM purchorderdetails WHERE completed = 1
[/sql]



el problema que me devuelve 1,2,3 pq el 2 en algun momento es 1

alguien me ayuda ?, gracias.

SELECT orderno FROM purchorderdetails WHERE completed = 1 AND completed = 3

Osea con el * estas trayendo todo lo que contenga 1 en completed y a vos solo te interesa ORDERNO

Saludos !!
  #3 (permalink)  
Antiguo 16/03/2010, 14:10
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: ayuda con consulta select basica

no, el problema no es ese, me explico mejor

el valor completed solo toma los valores 0 y 1
0 es cuando esta pendiente y 1 cuando esta completo
el numberor es el numero de orden el cual puede tener muchas lineas de pedidos discriminadas por el codigo del articulo, entonces si se envia una parte de la orden en este ejemplo e 1 y 3 se enviaron completos pero para el orderno 2 se envio solo un articulo y el otro articulo todavia esta pendiente y lo que yo quiero es hacer el select de todos los pedidos completos pero solo de los 100% completos no los que tienen algunas lienas completas.

espero se entienda.
  #4 (permalink)  
Antiguo 16/03/2010, 14:23
Avatar de agustincqc  
Fecha de Ingreso: enero-2010
Ubicación: Argentina
Mensajes: 96
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: ayuda con consulta select basica

Cita:
Iniciado por Death_Empire Ver Mensaje
no, el problema no es ese, me explico mejor

el valor completed solo toma los valores 0 y 1
0 es cuando esta pendiente y 1 cuando esta completo
el numberor es el numero de orden el cual puede tener muchas lineas de pedidos discriminadas por el codigo del articulo, entonces si se envia una parte de la orden en este ejemplo e 1 y 3 se enviaron completos pero para el orderno 2 se envio solo un articulo y el otro articulo todavia esta pendiente y lo que yo quiero es hacer el select de todos los pedidos completos pero solo de los 100% completos no los que tienen algunas lienas completas.

espero se entienda.
mmm no entiendo mucho, osea numberor tiene q estar en 3 y completed en 1 ...



1- SELECT max(numberor) FROM purchorderdetails WHERE completed = 1

2- SELECT * FROM purchorderdetails WHERE completed = 1 AND numberor = 3


Algo asi?, creo que es por ahy buscale la vuelta.
  #5 (permalink)  
Antiguo 16/03/2010, 14:26
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: ayuda con consulta select basica

no orderno es el numero de la orden de compra es un numero correlativo autoincrement, stockid es el codigo del producto y completed es si fue enviado o no
  #6 (permalink)  
Antiguo 16/03/2010, 14:35
Avatar de agustincqc  
Fecha de Ingreso: enero-2010
Ubicación: Argentina
Mensajes: 96
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: ayuda con consulta select basica

Cita:
Iniciado por Death_Empire Ver Mensaje
no orderno es el numero de la orden de compra es un numero correlativo autoincrement, stockid es el codigo del producto y completed es si fue enviado o no
Lamento no poder ayudarte, pero si orderno es autoincrement no entiendo como tenes repetidos en tu ejemplo.

Mira para empezar yo a tu tabla le agregaria un campo ID y es el que va a ser autoincremet, el ornenor podrias utilizar solo 3 variables como venis haciendo:
1 si no se envio
2 si se iso un envio parcial
3 si se envio

de esta forma mi consulta tiene q fusionar.

Por otro lado no de que manera ingrasas las dotas, mediante formulario html, php .. si queres darme un poco mas de detalles...
  #7 (permalink)  
Antiguo 16/03/2010, 14:39
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: ayuda con consulta select basica

lo que pasa que tengo otra tabla purchorder y en la tabla purchorderdetalis son cada linea de la purchorder por eso se repite el orderno que es la clave primaria de la otra tabla y stockid es la clave primaria de la tabla productos
  #8 (permalink)  
Antiguo 16/03/2010, 14:43
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: ayuda con consulta select basica

haber pongo otro ejemplo mas simple de entender

medio | color | nuevo
auto rojo no
auto azul si
auto verde no
avion amarillo si
avion rojo si

quiero hacer un select que me devuelva solo los medios de transporte que sean nuevos pero si hay algun medio del mismo tipo no me devuelva ese medio

si quiero que me devuelva solo los nuevos haria
SELECT medio FROM tabla WHERE nuevo = si

pero yo quiero que como auto esta usado en algun momento no me devuelva auto y me devuelva solo avion y los colores que tiene, se entiende mejor ??
  #9 (permalink)  
Antiguo 16/03/2010, 14:59
Avatar de agustincqc  
Fecha de Ingreso: enero-2010
Ubicación: Argentina
Mensajes: 96
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: ayuda con consulta select basica

Bueno ahora me parece que te entendi mejor, yo ya me estoy yendo , estoy en el trabajo ... lo q vos me queres decir es q claro, AUTO en un principio va a estar nuevo ... pero en algun momento va a pasar a ser usado, aca ya tenes una modificacion UPDATE que la vas a hacer sobre el ID de una linea en la tabla.
Por otro lado yo haria un formulario de consulta en PHP con menu desplegable en el campo MEDIO y NUEVO, despues colores que me traiga todos.

Si te interesa el PHP , podemos armar algo, es mas ya tengo algo yo que te puede servir.. pero como te dije me estoy yendo .. estare online en 30 minutos..

Saludos.
  #10 (permalink)  
Antiguo 16/03/2010, 15:29
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: ayuda con consulta select basica

Código MySQL:
Ver original
  1. SELECT DISTINCT orderno FROM purchorderdetails WHERE completed = 1 AND orderno NOT IN (SELECT orderno FROM purchorderdetails WHERE completed != 1)
  #11 (permalink)  
Antiguo 16/03/2010, 15:41
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: ayuda con consulta select basica

muchas gracias
jurena tu consulta me sirvio perfecto.
(+karma)
  #12 (permalink)  
Antiguo 16/03/2010, 16:04
Avatar de agustincqc  
Fecha de Ingreso: enero-2010
Ubicación: Argentina
Mensajes: 96
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: ayuda con consulta select basica

Buenicimo, menos mal .. ya me estaba sintiendo mal por no poder ayudarte y ensima estaba yo solo en el post jajaj , saludos

Etiquetas: select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:15.