表A是一个包含所有客户端帐户的表。每个客户都有一个常规的主账户,但有些客户除了主账户之外还有特殊类别账户。
表B将特殊类别账户与主要账户联系起来。如果客户没有特殊类别账户,则不在表B中。
表C是来自客户账户和我正在使用的表的交易。
Table A Table B Table C
+------+------------+ +------+------------+ +------+------------+--------------+------------+
| ID | Name | | ID | Related_ID | | c.ID | c.ID | b.related_ID | a.Name |
+------+------------+ +------+------------+ +------+------------+--------------+------------+
| 1001 | Alice | | 1002 | 1003 | | 1001 | Alice | 0 | 0 |
| 1002 | Bob | | 1004 | 1005 | | 1002 | Bob | 1003 | Bob EX |
| 1003 | Bob EX | | 1004 | 1006 | | 1004 | Charlie | 1004 | Charlie EX |
| 1004 | Charlie | | | | | 1005 | Charlie EX | 0 | 0 |
| 1005 | Charlie EX | | | | | 1006 | Charlie NA | 0 | 0 |
| 1006 | Charlie NA | | | | | | | | |
+------+------------+ +------+------------+ +------+------------+--------------+------------+
我希望表C有一个列(a.Name(,如果存在的话,它会返回相关的"EX"特殊类别帐户,否则它将为null。我很难在两个表之间进行匹配,但在需要时仍然返回null。我已经列出了表列"b.related_ID"one_answers"a.Name"作为我试图使表看起来像什么的示例。非常感谢。
您可以使用NULLIF函数
无效(a.Name,0(