假设我有一个用户表 * users *:
| 用户标识|姓名|
| - ------|- ------|
| 1个|鲍勃|
| 第二章|亚当|
| 三个|查理|
现在,我希望获得一个或两个用户的所有组合:
| 用户1|用户2|
| - ------|- ------|
| 鲍勃|零|
| 鲍勃|亚当|
| 鲍勃|查理|
| 亚当|零|
| 亚当|鲍勃|
| 亚当|查理|
| 查理|零|
| 查理|鲍勃|
| 查理|亚当|
假设我只想得到两个人的组合,我可以简单地做这样的事情:
SELECT * FROM users u1
LEFT JOIN users u2 on u1.id!=u2.id
但是,我想包含只有一个用户的组合,如何才能得到想要的结果?
1条答案
按热度按时间nukf8bse1#
使用自定义
CROSS JOIN
:请参见demo。