通过在 PostgreSQL 中映射多个值和条件来加入
JOIN by mapping multiple values and conditions in PostgreSQL
假设:
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
会发生吗?
是的,你可以这样做:
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
条件只是一个 boolean
表达式,您可以指定要加入的任何条件,包括两个关系中的不同值('man'、'boy') 和单独的附加条件(按男女)。
假设:
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
会发生吗?
是的,你可以这样做:
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
条件只是一个 boolean
表达式,您可以指定要加入的任何条件,包括两个关系中的不同值('man'、'boy') 和单独的附加条件(按男女)。