通过在PostgreSQL中映射多个值和条件来加入

时间:2015-05-20 03:30:56

标签: postgresql join mapping

假设:

tbl_a:

id hobby   type
1  fishing man
2  movie   woman

tbl_b:

id hobby   type
1  game    boy
2  dance   girl

我在加入操作时想要man=boy, woman=girl

select a.type,a.hobby, b.hobby
from tbl_a a 
join tbl_b b
on a.type=b.type

将导致

type  hobby   hobby
man   fishing game
woman movie   dance 

会发生吗?

1 个答案:

答案 0 :(得分:1)

是的,你可以这样做:

Points

SELECT a.type, a.hobby, b.hobby FROM tbl_a a JOIN tbl_b b ON (a.type = 'man' AND b.type = 'boy') OR (a.type = 'woman' AND b.type = 'girl'); 条件只是一个JOIN表达式,您可以指定要加入的条件,包括两个关系中的不同值('man','boy')和单独的附加条件(两种性别)。