1
zzNucker 2014-01-29 14:43:19 +08:00 1
你需要一个outer join, 把employee表放左边
|
2
haiyang416 2014-01-29 14:44:55 +08:00 1
你这个语句查询的是有亲属的男性员工,你可以用 LEFT JOIN 来重写这个查询。
|
3
saihuang 2014-01-29 14:51:34 +08:00 1
left join就可以了吧,这样没有相关亲属的男员工Relationship是null
select xxxx from e left join d on (e.ssn = d.essn) where e.sex = 'M'; http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins |
4
msg7086 2014-01-29 14:59:20 +08:00 1
|
5
SharkIng OP @zzNucker
@haiyang416 @saihuang 非常感谢,可以了,感谢已送 另外追问一句,如果在亲属关系中有多个亲属,我用echo的时候输出是多条 例如 蒋先生有两个子女一个老婆,输出是三条单独的 蒋先生,123456789, 蒋小玲 女儿 蒋先生,123456789, 蒋小伟 儿子 蒋先生, 123456789, 周薇 老婆 有没有可能输出时候将同样一个员工的所有亲属通过一条输出? |
6
msg7086 2014-01-29 15:08:40 +08:00
@SharkIng 如果你打算在MySQL这层做的话
http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat 不过其实不太推荐就是了。 |
7
dntc 2014-01-30 13:54:31 +08:00
GROUP_CONCAT 配合 GROUP BY 可以满足你的要求,把所有亲属连接成一个字符串附加到员工属性中
|