-1

我在星球大战数据库中使用了几个表以及一个连接表(这是 Uni 项目的一部分)。

我正在尝试编写一个查询,它将根据表中的字符以及通过连接表链接在一起的另一个表中的运输方式返回最常见的运输方式。

person 和 transport 表中的主键都是一个简单的“id”列,然后两个表都有一个 name 列。

创建了一个名为 person_transportation 的链接表,其中包含来自 person 和 transport 表的 id 的列。

我可以运行以下查询:

SELECT transport_id 
FROM person_transport 
GROUP BY transport_id 
ORDER BY COUNT(*) 
DESC LIMIT 1

这将返回值 2(这是我想要的船的正确 ID)。我似乎找不到将这个查询放入另一个查询的方法,该查询将返回船名而不是 ID 号。

我在这里搜索了很多类似的问题,但它们似乎都与在单个表上运行的查询有关,而不是与链接表有关。

有任何想法吗?

4

1 回答 1

0

我猜有一个transport_tabletransport_id和这样的列transport_name。在这样的子句
中使用您的查询:WHERE

SELECT transport_name
FROM transport_table
WHERE transport_id = (
  SELECT transport_id 
  FROM person_transport 
  GROUP BY transport_id 
  ORDER BY COUNT(*) 
  DESC LIMIT 1
)

将表的名称和列名称更改为实际名称。

于 2020-03-13T14:53:19.097 回答