utf8_general_ci - Únase a la consulta en MySQL
mysql illegal mix of collation (2)
Tengo dos tablas: miembros y renovaciones
Las dos tablas tienen un campo llamado memberid que vincula las dos tablas de datos juntas. Estoy intentando construir una consulta que extraerá el nombre y el apellido de la tabla de miembros para los datos que se mantienen en la tabla de renovaciones. He intentado utilizar la consulta a continuación, que se basa en algunos ejemplos que he buscado.
SELECT members.memberfirst, members.membersurname, members.memberid, renewals.account_name, renewals.memberid
FROM members, renewals
WHERE renewals.memberid=members.memberid
El error que recibo al intentar ejecutar esto en phpMyAdmin:
#1267 - Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation ''=''
Deberías usar INNER JOIN
. Eche un vistazo aquí: http://www.postgresql.org/docs/8.1/interactive/queries-table-expressions.html
Incluso si se trata de PostgreSQL, las consultas son las mismas para MySQL y los ejemplos son realmente buenos.
SELECT members.memberfirst, members.membersurname, members.memberid, renewals.account_name
FROM members
INNER JOIN renewals
ON members.memberid = renewals.memberid
o puede usar USING (memberid)
lugar de ON members.memberid = renewals.memberid
Una ligera modificación si desea mostrar el nombre del miembro en una sola columna
SELECT CONCAT(members.memberfirst, " ", members.membersurname) as memberName,
members.memberid, renewals.account_name, renewals.memberid
FROM members
INNER JOIN renewals
WHERE renewals.memberid=members.memberid