首页 > 解决方案 > 为子选择的每个结果选择列

问题描述

我有一个主列“id”的表“用户”。我有另一个“技能”,其中有一列“userId”(包含用户表中的 id)、一列“技能”(int 指的是我的应用程序中的枚举)和一列“级别”。

我现在想要的是查询用户并为每个技能添加一列,其中包含该用户对该技能的级别。当然我可以做类似的事情

SELECT u.id, (SELECT level FROM Skills s WHERE s.userId=u.id AND s.skill=1) AS lvl FROM User u

每个级别都有一个子选择或为每个级别编写一个 JOIN,但是这两种解决方案都会产生相当长和复杂的查询。有没有更简单的方法来实现这一点?

标签: mysql

解决方案


推荐阅读