3

我有两张表:会员和续订

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

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 '='

替代文字

4

2 回答 2

2

你应该使用INNER JOIN. 看看这里:http
://www.postgresql.org/docs/8.1/interactive/queries-table-expressions.html 即使是 PostgreSQL 的,MySQL 的查询也是一样的,示例非常好。

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

或者你可以使用USING (memberid)而不是ON members.memberid = renewals.memberid

于 2010-08-24T16:28:45.483 回答
0

如果您想在单个列中显示成员的姓名,请稍作修改

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
于 2016-05-26T17:12:39.180 回答