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

Error en SELCET MySQL 4.1.19 vs 4.1.17

Estas en el tema de Error en SELCET MySQL 4.1.19 vs 4.1.17 en el foro de Mysql en Foros del Web. Hola gente .. tengo un problema con el siguiente SELECT ... el mismo anda joya en version MySQL 4.1.9 y me tira un error en ...
  #1 (permalink)  
Antiguo 10/08/2007, 16:19
Avatar de granbosteron  
Fecha de Ingreso: agosto-2004
Mensajes: 164
Antigüedad: 19 años, 8 meses
Puntos: 1
Exclamación Error en SELCET MySQL 4.1.9 vs 4.1.7

Hola gente .. tengo un problema con el siguiente SELECT ... el mismo anda joya en version MySQL 4.1.9 y me tira un error en la version MySQL 4.1.7 ...
el error es el siguiente:
#1054 - Unknown column 'n.news_id' in 'on clause'

El SELECT
Código PHP:
SELECT DISTINCT(n.news_id), n.date_addednd.news_titlend.news_description
nd.news_description_explainnc.categories_idcd.categories_name
SUM( IF(n.news_id=ni.news_id10)) AS count_img  
 
FROM news n
news_type ntnews_description nd
news_categories nccategories_description cd 
LEFT JOIN news_images ni ON 
(n.news_id=ni.news_id)

WHERE 
(n.date_added>='2007-08-10 00:00:00' and n.date_added<='2007-08-10 19:07:52'
AND 
n.status_id='1' 
AND n.news_id=nd.news_id 
AND nd.languages_id='1' 
AND n.news_id=nt.news_id 
AND nt.news_type_id='1' 
AND n.news_id=nd.news_id 
AND n.news_id=nc.news_id 
AND nc.categories_id=cd.categories_id 
AND cd.languages_id='1' 
GROUP BY n.news_id 
ORDER BY n
.date_added DESC 
Se que el error esta en la parte del LEFT JOIN .. pero no logro saber cual es y cuales son las diferencia entre el MYSQL 4.1.9 y la version 4.1.7 ...

porfa .. alguien me puede tirar un centro?

saludos
__________________
Saludos :adios: :adios: :adios:

Última edición por granbosteron; 13/08/2007 a las 07:48
  #2 (permalink)  
Antiguo 10/08/2007, 17:05
Avatar de dalyla  
Fecha de Ingreso: septiembre-2005
Mensajes: 135
Antigüedad: 18 años, 7 meses
Puntos: 1
Re: Error en SELCET MySQL 4.1.19 vs 4.1.17

ok, no se porque no estas usando la palabra 'as' por ejemplo news as n, pero tu problema, es ke en las versiones nuevas de mysql, por lo menos conmigo que uso la 5 no puedes usar comas, asi ke intenta cambiandolas por join simples

Lee este tema==> Mejoremos la ortografía.

Última edición por BrujoNic; 10/08/2007 a las 17:53
  #3 (permalink)  
Antiguo 10/08/2007, 19:58
Avatar de granbosteron  
Fecha de Ingreso: agosto-2004
Mensajes: 164
Antigüedad: 19 años, 8 meses
Puntos: 1
Re: Error en SELCET MySQL 4.1.9 vs 4.1.7

Gracias Dalyla!...
si puede ser que sea asi lo que me decis acerca del "AS" .. es solo por costumbre y porque tampoco soy un programador, por eso algunas cosas tan especificas no las se ahun.

Alguien podria ser un poco mas especifico en que porque se produce este error, sabiendo que el SELECT, y vuelvo a repetir, funciona en una version y en la otra no!....

Saludos y gracias nuevamente!
__________________
Saludos :adios: :adios: :adios:

Última edición por granbosteron; 13/08/2007 a las 07:49
  #4 (permalink)  
Antiguo 13/08/2007, 09:30
Avatar de granbosteron  
Fecha de Ingreso: agosto-2004
Mensajes: 164
Antigüedad: 19 años, 8 meses
Puntos: 1
Re: Error en SELCET MySQL 4.1.9 vs 4.1.7

Bueno,
cambie el SELECT por el siguiente:

Código PHP:
SELECT 
DISTINCT
(n.news_id), n.date_added
nd.news_titlend.news_descriptionnd.news_description_explain
nc.categories_idcd.categories_name
SUM( IF(n.news_id=ni.news_id10)) count_img   

FROM news n  
LEFT JOIN news_description nd ON 
(n.news_id=nd.news_id AND nd.languages_id='1'
LEFT JOIN news_images ni ON (n.news_id=ni.news_id
LEFT JOIN (news_categories nccategories_description cdON 
(n.news_id=nc.news_id AND nc.categories_id=cd.categories_id 
AND cd.languages_id='1'

WHERE 
(n.date_added>='2007-08-10 00:00:00' and n.date_added<='2007-08-10 19:07:52'
AND 
n.status_id='1'  
GROUP BY n.news_id 
En la version 4.1.7 anda bien, que es en la version que me tiraba el ERROR .. pero ahora en la version 4.1.9 anda pero me devuelve datos erroneos... ejemplo mas imagenes en el "count_img" que es el resultado del contador de imagenes segun noticia....

Vuelvo a preguntar si alguien sabe las diferencias entre estas versiones de mysql, ya que esta mas que comprobado que maneja diferente los LEFT JOIN y demas...

Sino por favor decirme en que version cambio mucho este tema de JOINS... bueno muchas gracias de nuevo y espero pronta respuesta!....

saludos
__________________
Saludos :adios: :adios: :adios:

Última edición por granbosteron; 15/08/2007 a las 23:44
  #5 (permalink)  
Antiguo 15/08/2007, 23:56
Avatar de granbosteron  
Fecha de Ingreso: agosto-2004
Mensajes: 164
Antigüedad: 19 años, 8 meses
Puntos: 1
Re: Error en SELCET MySQL 4.1.9 vs 4.1.7

A VER si soy mas especifico y consigo una respuesta o alguna ayudita!... por favorrrr!!!

El SELECT que pego de nuevo abajo lo eh probado en los siguientes servidores...

1) Windows - PHP 5.1.2 - Mysql Client API version 4.1.7 - mysqli Client API version 4.1.7

2) LINUX - PHP 4.4.6 - Mysql 4.1.20

En el Servidor (2) funciona sin problemas, pero en el servidor (1) tira el siguiente error:
#1054 - Unknown column 'n.news_id' in 'on clause'

Cuales puede ser las razones?
a) Incompatibilidad de las funciones y formas de armar un SELECT en mysql que en mysqli?
b) las versiones 4.1.7 con 4.1.20 - que creo que esto no es, porque no hay tanta diferencia y ademas el SELECT no es muy complicado.

Que ayuda pueden darme ???


Código PHP:
SELECT DISTINCT(n.news_id), n.date_addednd.news_titlend.news_description
nd.news_description_explainnc.categories_idcd.categories_name
SUM( IF(n.news_id=ni.news_id10)) AS count_img  
 
FROM news n
news_type ntnews_description nd
news_categories nccategories_description cd 
LEFT JOIN news_images ni ON 
(n.news_id=ni.news_id)

WHERE 
(n.date_added>='2007-08-10 00:00:00' and n.date_added<='2007-08-10 19:07:52'
AND 
n.status_id='1' 
AND n.news_id=nd.news_id 
AND nd.languages_id='1' 
AND n.news_id=nt.news_id 
AND nt.news_type_id='1' 
AND n.news_id=nd.news_id 
AND n.news_id=nc.news_id 
AND nc.categories_id=cd.categories_id 
AND cd.languages_id='1' 
GROUP BY n.news_id 
ORDER BY n
.date_added DESC 
GRACIAS
__________________
Saludos :adios: :adios: :adios:
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:15.