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

Problema con sentencia sql

Estas en el tema de Problema con sentencia sql en el foro de Bases de Datos General en Foros del Web. Hola a tod@s, Estoy escribirndo una sentencia que no me devuelve lo que yo quiero. Esta es la sentencia: Código: "SELECT articulo.codigo, articulo.denominacion, articulo_idi.codart FROM ...
  #1 (permalink)  
Antiguo 15/03/2010, 10:39
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 8 meses
Puntos: 1
Problema con sentencia sql

Hola a tod@s,

Estoy escribirndo una sentencia que no me devuelve lo que yo quiero. Esta es la sentencia:

Código:
"SELECT articulo.codigo, articulo.denominacion, articulo_idi.codart FROM articulo, articulo_idi WHERE articulo.codigo != articulo_idi.codart";
Lo que quiero es conseguir la denominacion y el código de los articulos, cuyo código no sea igual a codart de la tabla articulo_idi.

Espero haberme explicado bien, saludos a tod@s y gracias de antemano.
__________________
"La vida se mide por las veces que te levantas, no por las veces que te caes"

visita zarautz!!!
  #2 (permalink)  
Antiguo 15/03/2010, 11:16
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con sentencia sql

¿Qué DBMS estás usando?
Pregunto pasa saber qué sintaxis usar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 15/03/2010, 11:19
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: Problema con sentencia sql

Uso mysql, ya se que la sentencia es muy sencilla pero no me hace bien, no se porque.
__________________
"La vida se mide por las veces que te levantas, no por las veces que te caes"

visita zarautz!!!
  #4 (permalink)  
Antiguo 15/03/2010, 11:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con sentencia sql

Esta es una aproximación, tomando en cuenta que no sé con seguridad qué es articulo_idi y qué es lo que contiene.
Código MySQL:
Ver original
  1.   A.codigo,
  2.   A.denominacion
  3. FROM articulo A LEFT JOIN articulo_idi I
  4. WHERE I.codart IS NULL
  5. GROUP BY A.codigo;
Eliminé el campo I.codart porque en el contexto de lo que consultas, devolvería NULL.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 16/03/2010, 02:42
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: Problema con sentencia sql

Hola gnzsoloyo,

Gracias por la respuesta, pero me da error de sintaxis. me da el error aqui: near 'WHERE I.codart IS NULL GROUP BY A.codigo' at line 1. articulo_idi es donde estan los articulos en diferentes idiomas y en articulo aparecen en castellano. Tengo que coger los articulos traducidos, porque no estan todos traducidos, y los articulos que faltan, que no estan traducidos, y los tengo que mostrar en castellano
__________________
"La vida se mide por las veces que te levantas, no por las veces que te caes"

visita zarautz!!!
  #6 (permalink)  
Antiguo 16/03/2010, 05:17
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con sentencia sql

Lo siento, me faltó un pedazo:
Código MySQL:
Ver original
  1.   A.codigo,
  2.   A.denominacion
  3. FROM articulo A LEFT JOIN articulo_idi I ON A.codigo = I.codart
  4. WHERE I.codart IS NULL
  5. GROUP BY A.codigo;
Respecto al idioma, me parece que está mal planteado el diseño. Yo hubiese puesto una tabla "DESCRIPCION" donde guardar las diferentes versiones según un ID de idioma puesto como parte de la PK, pero bueno, es tu modelo...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 16/03/2010, 05:56
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: Problema con sentencia sql

Gracias otra vez gnzsoloyo, pero sigue sin funcionar. Se que da pensando todo el rato hasta que excede el tiempo. Sobre el diseño, no lo he hecho yo. El planteamiento está hecho para un progama desde donde yo cojo la información de los articulos.
  #8 (permalink)  
Antiguo 16/03/2010, 06:45
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con sentencia sql

¿Estás probando la sentencia desde PHP o desde PhpMyAdmin o algo así?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 16/03/2010, 08:09
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: Problema con sentencia sql

Lo estoy probando desde php y mysqladministrator
__________________
"La vida se mide por las veces que te levantas, no por las veces que te caes"

visita zarautz!!!
  #10 (permalink)  
Antiguo 16/03/2010, 09:08
Avatar de Phoenix23  
Fecha de Ingreso: agosto-2007
Ubicación: 43.286211, -2.171349
Mensajes: 253
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: Problema con sentencia sql

Ya está solucionado, esta es la respuesta:

Código MySQL:
Ver original
  1. SELECT Codigo, Denominaci, descripcio FROM articulo LEFT JOIN artidi ON Codigo=codart WHERE clase = 'A' AND nopublicar = '0' and (idioma = 'I' or idioma is null)
.

Gracias por tu interes y tu ayuda gnzsoloyo. Saludos
__________________
"La vida se mide por las veces que te levantas, no por las veces que te caes"

visita zarautz!!!

Etiquetas: sentencia, sql
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 18:33.