mysql - 为子选择的每个结果选择列
问题描述
我有一个主列“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,但是这两种解决方案都会产生相当长和复杂的查询。有没有更简单的方法来实现这一点?
解决方案
推荐阅读
- javascript - 如果 Input 元素没有值,如何禁用 LinkButton?
- android - 如何在 Android 应用中部署自定义图像处理算法?
- c# - C#GetDeclaredProperty Set Value 错误,方法 SetValue 没有重载有一个参数
- excel - 我们如何将 value + 5 添加到整个列
- gcc - 将 C 函数与“奇数”地址对齐
- unity3d - 随机中的随机?
- node.js - Heroku 错误模块未找到 'json-server'
- javascript - 使 Angular Material 选项卡拖放重新排序选项卡索引
- c++ - minidump stackwalk vs gdb回溯
- javascript - 如何用 JS 创建一个 Button 并使用 OnClick 属性