Mysql 为子选择的每个结果选择列

Mysql 为子选择的每个结果选择列,mysql,Mysql,我有一个主列为“id”的表“User”。 我还有另一个“Skills”,它有一列“userId”(包含用户表中的id),一列“skill”(int指我的应用程序中的枚举)和一列“level” 我现在想要的是查询用户,并为每个技能添加一列,其中包含该用户对该技能的级别。当然,我可以做类似的事情 SELECT u.id, (SELECT level FROM Skills s WHERE s.userId=u.id AND s.skill=1) AS lvl FROM User u 每个级别都有一

我有一个主列为“id”的表“User”。 我还有另一个“Skills”,它有一列“userId”(包含用户表中的id),一列“skill”(int指我的应用程序中的枚举)和一列“level”

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

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

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

请提供少量样本数据,以及
选择所需的结果。