我有一个表table1
,其中列A
,B
(A
和B
构成主键),C
,{ {1}},D
和E
列table2
我需要提取F
和A
或B
或C
有效的D
和E
的不同值。
要求是table1.C = table2.F或table1.D = table2.F或table1.E = table2.F
我正在使用的SQL如下:
sel A,B from table1
inner join table2
on table1.C=table2.F
**union**
sel A,B from table1
inner join table2
on table1.D=table2.F
**union**
sel A,B from table1
inner join table2
on table1.E=table2.F
有没有更好的方法,以便所有这些都可以安装在一个连接中?
答案 0 :(得分:0)
SELECT A,B FROM
table1
INNER JOIN
table2 ON table1.C=table2.F
OR table1.D=table2.F
OR table1.E=table2.F
答案 1 :(得分:0)
假设两者都加入table1的PK:
SELECT DISTINCT
T1.A,
T1.B
FROM
table1 AS T1
INNER JOIN table2 AS T2 ON
T1.A = T2.A AND
T1.B = T2.B
WHERE
T1.C = T2.F OR
T1.D = T2.F OR
T1.E = T2.F
答案 2 :(得分:0)
我会尝试以下方法:
PrivateKey privateKey = (PrivateKey) myStore.getKey("privatekey", "yourpasswordhere".toCharArray());