我有两个独特的记录表,一个用于游戏鱼(838行),另一个用于非游戏鱼类(140行)。两个表都包含一个'物种'列。我需要将这些表连接到一个有978个唯一行和一个Species列的表中。我尝试过LEFT JOIN,INNER JOIN和FULL OUTER JOIN没有任何成功。这似乎很简单,但我不知道我做错了什么。使用PostgreSQL加入同一列的两个独特表格
谢谢。
我有两个独特的记录表,一个用于游戏鱼(838行),另一个用于非游戏鱼类(140行)。两个表都包含一个'物种'列。我需要将这些表连接到一个有978个唯一行和一个Species列的表中。我尝试过LEFT JOIN,INNER JOIN和FULL OUTER JOIN没有任何成功。这似乎很简单,但我不知道我做错了什么。使用PostgreSQL加入同一列的两个独特表格
谢谢。
你想要结合,而不是加入。
select species from game_fish_table
union all
select species from non_game_fish_table
如果您的查询选择两个表中的类似的记录,他们没有涉及到另一个例如通过一个ID来获得来自其它表的信息,你想要的是一个UNION:
UNION运算符将两个或更多个SELECT 语句的结果集组合为单个结果集。
SELECT species FROM gameFish
UNION
SELECT columns> ROM nonGameFish
这将返回7017行? – dubch87
分别运行每个SELECT以确认您在原始问题中引用的行数。在原始分析中,某些物种可能会有多行被DISTINCT丢弃。如果是这种情况 - 您可以在上面的语句中删除ALL,以便重复的行将被丢弃(以服务器需要更多计算为代价)。 – dav1dsm1th
你可能不得不使用从这里的大卫提到的选择不同的物种......无论你原来的查询是要达到838行。我认为他们已经与你的问题的措辞是独一无二的 – Twelfth