我有两个表:成员和续订
这两个表有一个名为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 '='
答案 0 :(得分: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
答案 1 :(得分: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