问题是是否存在任何性别,年龄,邮政编码组合有多个匹配个体?如果是,有多少这样的组合?我想用gender
age
postcode
这三列来分组然后用having
。但是有一个关于列gender
在字段列表是模糊的错误。为什么会这样呢?
这是我的代码
SELECT cd.*, sd.* FROM club_data AS cd
INNER JOIN student_data_anon AS sd
ON ( sd.gender = cd.gender) AND (sd.age = cd.age) AND (sd.postcode=cd.postcode)
group by gender, age, postcode
首先,应该限定所有表引用。
第二,应该避免返回重复的列名。
最后,限定所有列引用:
SELECT cd.*,
sd.x, sd.y, sd.z -- list out all *other* columns in sd
FROM club_data cd INNER JOIN
student_data_anon sd
ON sd.gender = cd.gender AND
sd.age = cd.age AND
sd.postcode = cd.postcode;
你可能也不想要GROUP BY
。这对您的查询没有意义,因为您从两个表中选择了所有列,并且没有聚合函数。
也许你需要一个ORDER BY
。