MySQL-从右表中的每个组获取左表中的所有行

艾哈迈德·哈克·阿比德

我需要显示表B中每个user_id的表A中的所有记录,即使不匹配也是如此。我已经尝试过LEFT JOIN和GROUP-ing,但没有达到我的预期结果。另外我在SQL方面的技能也不好,因此需要帮助。

这是我的表格数据:

Table A : gateways
=========================
| ID | Gateway          |
=========================
|  1 | Paypal           |
|  2 | Webpay           |
|  3 | Stripe           |
=========================

Table B : gateway_user
==================================
|  GatewayID |  UserID  | Active |
==================================
|     1      |     1    |   Y    |
|     1      |     2    |   Y    |   
|     1      |     3    |   N    |
|     2      |     1    |   Y    |
|     2      |     2    |   N    |
|     3      |     1    |   Y    |
==================================

我期望的结果是,即使右边的表中不存在,每个右边的user_id也会从左边的表中看到所有结果。

==================================
|  GatewayID |  UserID  | Active |
==================================
|     1      |     1    |   Y    |
|     1      |     2    |   Y    |
|     1      |     3    |   N    |
|     2      |     1    |   Y    |
|     2      |     2    |   N    |
|     2      |     3    |  null  |
|     3      |     1    |   Y    |
|     3      |     2    |  null  |
|     3      |     3    |  null  |
==================================

谢谢你。

兹比涅克·维斯科夫斯基-KVR000

您必须创建包含所有userId列表的人工表:

SELECT gw.id, ua.userId, gu.active 
FROM gateways gw 
JOIN (SELECT DISTINCT userId 
      FROM gateway_user) ua 
LEFT JOIN gateway_user gu 
ON gu.userId = ua.userId AND gu.gatewayId = gw.gatewayId

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

左外连接,从左边查找所有在右表中没有出现的,mysql

来自分类Dev

Mysql左连接,条件在右表中

来自分类Dev

MySQL左连接,根据左表最大ID从左表获取所有右表列和2列

来自分类Dev

MySQL使用Join列出左表中的所有记录

来自分类Dev

MySQL查询仅获取第一行,而不是表中的所有行

来自分类Dev

如何从MySQL表中获取具有多列相同值的所有行?

来自分类Dev

MySQL从左表返回所有记录,但右表中有匹配项的记录除外

来自分类Dev

从mysql表中获取所有第二高的数据

来自分类Dev

PHP和MySQL:从表中获取所有值?

来自分类Dev

从MySQL 3表中获取所有数据

来自分类Dev

mysql查询未从表中获取所有元素

来自分类Dev

从mysql表中获取所有第二高的数据

来自分类Dev

如何获取MySQL表中列值相同的所有行?

来自分类Dev

MySQL:从所有列和行中获取表的MIN值

来自分类Dev

使用MySQL删除表中的所有行?

来自分类Dev

使用PHP从MySQL表中删除所有行

来自分类Dev

MySQL:获取表中每个组的第n个最大值

来自分类Dev

MySQL获取另一个表中所有行的计数,该表中的值等于当前表中的列

来自分类Dev

遍历表mySQL中的所有项目

来自分类Dev

MySQL连接表,其中所有左记录都在右

来自分类Dev

PHP / MySQL-选择表1中的列等于表2中的列的所有行

来自分类Dev

MySQL从表1中选择所有行,并从表2中选择所有行,其中

来自分类Dev

MySQL查询以获取表中的行位置

来自分类Dev

在mysql中获取每个组的最后一行

来自分类Dev

MYSQL返回右表中的一行

来自分类Dev

MySQL:返回表A的所有行,如果表B中存在记录,则返回true | false

来自分类Dev

MySQL:返回表A的所有行,如果表B中存在记录,则返回true | false

来自分类Dev

MySql Join-如何获取除相关之外的所有行?如何在联接表中求和?

来自分类Dev

Laravel Eloquent PHP 如何获取 MySQL 表中以唯一列值作为键的所有行

Related 相关文章

  1. 1

    左外连接,从左边查找所有在右表中没有出现的,mysql

  2. 2

    Mysql左连接,条件在右表中

  3. 3

    MySQL左连接,根据左表最大ID从左表获取所有右表列和2列

  4. 4

    MySQL使用Join列出左表中的所有记录

  5. 5

    MySQL查询仅获取第一行,而不是表中的所有行

  6. 6

    如何从MySQL表中获取具有多列相同值的所有行?

  7. 7

    MySQL从左表返回所有记录,但右表中有匹配项的记录除外

  8. 8

    从mysql表中获取所有第二高的数据

  9. 9

    PHP和MySQL:从表中获取所有值?

  10. 10

    从MySQL 3表中获取所有数据

  11. 11

    mysql查询未从表中获取所有元素

  12. 12

    从mysql表中获取所有第二高的数据

  13. 13

    如何获取MySQL表中列值相同的所有行?

  14. 14

    MySQL:从所有列和行中获取表的MIN值

  15. 15

    使用MySQL删除表中的所有行?

  16. 16

    使用PHP从MySQL表中删除所有行

  17. 17

    MySQL:获取表中每个组的第n个最大值

  18. 18

    MySQL获取另一个表中所有行的计数,该表中的值等于当前表中的列

  19. 19

    遍历表mySQL中的所有项目

  20. 20

    MySQL连接表,其中所有左记录都在右

  21. 21

    PHP / MySQL-选择表1中的列等于表2中的列的所有行

  22. 22

    MySQL从表1中选择所有行,并从表2中选择所有行,其中

  23. 23

    MySQL查询以获取表中的行位置

  24. 24

    在mysql中获取每个组的最后一行

  25. 25

    MYSQL返回右表中的一行

  26. 26

    MySQL:返回表A的所有行,如果表B中存在记录,则返回true | false

  27. 27

    MySQL:返回表A的所有行,如果表B中存在记录,则返回true | false

  28. 28

    MySql Join-如何获取除相关之外的所有行?如何在联接表中求和?

  29. 29

    Laravel Eloquent PHP 如何获取 MySQL 表中以唯一列值作为键的所有行

热门标签

归档