MySQL中的连接查询

MySQL中的连接查询,mysql,phpmyadmin,mysql-error-1267,Mysql,Phpmyadmin,Mysql Error 1267,我有两张桌子:会员和续约 这两个表有一个名为memberid的字段,该字段将两个数据表链接在一起。我正在尝试构造一个查询,该查询将从members表中提取renewals表中保存的数据的名字和姓氏。我尝试使用下面的查询,它基于我查找的一些示例 SELECT members.memberfirst, members.membersurname, members.memberid, renewals.account_name, renewals.memberid FROM members, ren

我有两张桌子:会员和续约

这两个表有一个名为memberid的字段,该字段将两个数据表链接在一起。我正在尝试构造一个查询,该查询将从members表中提取renewals表中保存的数据的名字和姓氏。我尝试使用下面的查询,它基于我查找的一些示例

SELECT members.memberfirst, members.membersurname, members.memberid, renewals.account_name, renewals.memberid 
FROM members, renewals 
WHERE renewals.memberid=members.memberid
尝试在phpMyAdmin中运行此操作时出现的错误:

#1267 - Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='

您应该使用
内部联接
。看看这里:
即使是对于PostgreSQL,查询对于MySQL也是一样的,并且示例非常好

SELECT members.memberfirst, members.membersurname, members.memberid, renewals.account_name
FROM members
INNER JOIN renewals
ON members.memberid = renewals.memberid

或者,您可以在members上使用
USING(memberid)
而不是
。memberid=续订。memberid

如果您希望在单个列中显示成员的名称,则只需稍作修改

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

我们可以看一下你的表格定义吗?我已经编辑了原始帖子,并附上了PHPMYADMINTANKS的截图附件,以获得建议。然而,当我运行它时,我仍然收到相同的错误消息:#1267-非法混合排序规则(utf8_unicode_ci,隐式)和(utf8_general_ci,隐式)操作“=”我已经用两个表的phpmyadmin的屏幕截图更新了原始帖子。