非标准加入

时间:2013-02-01 14:04:34

标签: database join relational-algebra

我遇到了一个问题,并试图找到一个通用的解决方案作为连接。

我有两张桌子:

http://pastebin.com/q5yws5Ym(不确定如何强制使用样式)

我想生成类似的东西 http://pastebin.com/GscBUrYS

(虽然有更多参数我对如何做这样的事情感兴趣)

虽然我能够通过自连接和等连接达到类似的效果,但它会产生很多不需要的行,我不知道如何自动删除。

1 个答案:

答案 0 :(得分:1)

尝试以下方面的内容:

SELECT user.user_id, j1.user_param, j1.user_value, j2.user_param, j2.user_value
FROM user
JOIN Users_info j1 ON user.user_id = j1.user_id
JOIN users_info j2 on user.user_id = j2.user_id
where j1.user_param != j2.user_param
GROUP BY user.user_id

您可能需要更多的“排除”子句,以确保每行只选择一次,但总体思路应该有效(对于给定和有限数量的不同user_param`s)。