【发布时间】:2021-01-30 09:47:01
【问题描述】:
我正在尝试使用两个表进行内部联接和右联接。 我不知道哪个应该是第一个。
我想从“qryInvnt_Especies_DAP”加入“Objectivo_DAP”表。
qryInvnt_Especies_DAP 表:
InvntID EspCodigo DAP
15 Ec 15
16 Ec 5
17 Ac 13
18 Ac 19
19 Ac 10
20 Ac 20
21 Ac 4
22 Ac 13
23 Ac 16
24 Qr 14
25 Sb 13
26 Pb 50
27 Pb 20
28 Ec 12
29 Ec 30
30 Ec 5
31 Ec 7
32 Ec 40
Objectivo_DAP 表:
ObjtDAPID EspCodigo Objectivo LowerDAP UpperDAP
1 Ec Rolaria_Ec 5 35
2 Ec Desenrolar_Ec 35 55
3 Ec Folha_Ec 55 200
4 Pb Folha_Pb 45 200
5 Pb Lenha_Pb 0 45
答案应该是:
InvntID EspCodigo DAP Objectivo
15 Ec 15 Rolaria_Ec
16 Ec 5 Rolaria_Ec
26 Pb 50 Folha_Pb
27 Pb 20 Lenha_Pb
28 Ec 12 Rolaria_Ec
29 Ec 30 Rolaria_Ec
30 Ec 5 Rolaria_Ec
31 Ec 7 Rolaria_Ec
32 Ec 40 Desenrolar_Ec
它应该过滤存在于表“Objectivo_DAP”中的 EspCodigo(Ec 和 Pb),并根据 LowerDAP 或“qryInvnt_Especies_DAP”表中 DAP 的 UpperDAP 值。 Range Values - Classes
这是我的查询:过滤器 EspCodigo 的右连接和 Objectivo_DAP.Objectivo 的内连接(下或上)
SELECT qryInvnt_Especies_DAP.InvntID,
qryInvnt_Especies_DAP.Nome,
qryInvnt_Especies_DAP.EspCodigo,
qryInvnt_Especies_DAP.DAP,
Objectivo_DAP.Objectivo
FROM qryInvnt_Especies_DAP
RIGHT JOIN Objectivo_DAP ON qryInvnt_Especies_DAP.EspCodigo = Objectivo_DAP.EspCodigo,
INNER JOIN Objectivo_DAP ON qryInvnt_Especies_DAP.DAP >= Objectivo_DAP.LowerDAP
AND qryInvnt_Especies_DAP.DAP < Objectivo_DAP.UpperDAP;
任何帮助将不胜感激。
谢谢,
【问题讨论】:
-
您的问题几乎具备我们所需要的一切,但没有:问题是什么?您是否收到错误或错误结果?
-
如果出现语法错误:删除
INNER JOIN之前的逗号,并添加括号:stackoverflow.com/questions/7854969/sql-multiple-join-statement