Bases de Datos => MySQL => Mensaje iniciado por: angelman7 en Jueves 24 de Febrero de 2011, 02:17
Título: Tablas y Columnas
Publicado por: angelman7 en Jueves 24 de Febrero de 2011, 02:17
Cordial Saludo tengo la una duda sobre mysql, hace tiempo no practico sql, y no me acuerdo de algunas cosas para que me colaboren, miren la situacion es esta como hago para llamar una misma columna de dos tablas la columna se llama A y esta en las tablas docentes y estudiantes SELECT `A` FROM `estudiantes` INNER JOIN `docente` ON estudiantes.A = docente.A LIMIT 0 , 30
pero me sale este error #1052 - Column 'A' in field list is ambiguous
intente asi
SELECT * FROM `estudiantes` INNER JOIN `docente` ON estudiantes.A = docente.A LIMIT 0 , 30 fijense que cuando la pongo asi me funciona
SELECT `A` FROM `estudiantes` INNER JOIN `docente` ON estudiantes.A = docente.A LIMIT 0 , 30 pero asi no
Título: Re: Tablas y Columnas
Publicado por: ProfesorX en Jueves 24 de Febrero de 2011, 04:33
El error mismo te lo esta indicando
Column 'A' in field list is ambiguous
Traducido:
La columan A en la lista de campos es ambigua.
Esto se debe precisamente a que la columna A se llama igual en las dos tablas, entonces no sabe si desplegar columna A de docentes o columna A de estudiantes.
La solucion es especificar, cuando las dos columnas tienen el mismo nombre en tablas diferentes, a que tabla te refieres, retomando tu ejemplo seria algo como:
Puede ser al contrario, usando docente.A en lugar de estudiantes.A, en este caso en particular no importa de que tabla tomas la columna.
Saludos :)
Título: Re: Tablas y Columnas
Publicado por: angelman7 en Jueves 24 de Febrero de 2011, 23:30
Muchas Gracias por la ayuda, ahora tengo otra pregunta: me funciona el codigo, pero el resultado es raro es decir cuando hago una consulta normal asi:
SELECT A FROM `docente` ó `estudiantes saldra esta tabla que son similares, con todos los datos pero si uso el comando que me dieron A 99 63 12 137 20 2 124 134 109 127 1 3 39 123 16 17 66 115 128 91 121 8 13 73 131 15 22 14 125 21 1. SELECT `estudiantes.A` FROM `estudiantes` INNER JOIN `docente` ON estudiantes.A = docente.A LIMIT 0 , 30 sale este resultado A A 39 39 10 10 14 14 16 16 3 3 2 2 13 13 63 63 no se si sea el editor (phpmyadmin) o estoy cometiendo algun error en el llamado, igual muchas gracias por el dato anterior me sirvio de mucho
Título: Re: Tablas y Columnas
Publicado por: ProfesorX en Viernes 25 de Febrero de 2011, 01:31
Bueno mira, respecto a tu pregunta, no se que resultado esperas obtener, ya que solo tu sabes que datos contienen tus tablas, yo no se que dato contiene la columna A, solo te dire que cuando utilizas:
Código: SQL
SELECT A FROM`estudiantes`;
estas mostrando la columna A de todas las filas de la tabla destudiantes.
estas mostrando la columna A de la tabla estudiantes, pero solo aquellas filas que cumplen la condicion de ser iguales en la columna A en las dos tablas (estudiantes y docente). Si el valor de la columna A en la tabla estudiantes no es igual con algun valor de la columna A de la tabla docente, y viceversa, esa fila no se mostrara.
Espero que dicho eso te quede mas claro como funciona el Inner join
Saludos :)
Título: Re: Tablas y Columnas
Publicado por: angelman7 en Martes 1 de Marzo de 2011, 17:03
muchas gracias, esos datos me ayudaron bastante, muchas gracias