我需要一些帮助,这是我的情况:
我有4张桌子一表1:id_river|name_river
表2:年
表3:nb_catch_a|id_river|年
表4:nb_catch_b|id_river|年
我正试图创建一个查询,列出按id_river and years:分组的nb_catch_a和nb_catch_b
最终表格:id_river|name_river|年份|nb_catch_a|nb_cach_b
如果表3和表4中有年份,为什么需要表2?
我们必须只提取表2中的年份吗?
另外,您希望如何聚合剩余字段?
这是假设你不需要表2 的答案
SELECT A.ID_RIVER
,A.NAME_RIVER
,B.nb_catch_a
,C.nb_catch_b
,C.YEAR
来自表1a在A.ID_RIVER=B.ID_RIVER上加入表3b在A.ID_RIVER=C.ID_RIVER 上加入表4c
如果要联接表2,则需要在年份字段中指定联接。此外,您希望加入表2上的哪个字段?表3还是表4?他们都有年份。因此,很难说加入应该朝哪个方向发展。我需要更多关于你想做什么的信息。这样的事情应该有效,但今年加入是愚蠢的。不知道为什么表2中只有一个字段……由于年份已经出现在表3和表4中,所以这似乎是多余的。也不确定它应该是今年的内联接或左外联接。
Select table1.id_river, table1.name_river, table3.nb_catch_a, table3.year, table4.nb_catch_b, table4.year from Table1 INNER JOIN table3 on table1.id_river=table3.id_river
INNER JOIN table4 on table1.id_river=table4.id_river