首先,希望标题能表达问题。否则,欢迎任何建议。我的问题是我有以下表结构:
+----+------+------------------+-------------+ | 身份证 | 姓名 | 收件人发件人 | 用户 | +----+------+------------------+-------------+ | 1 | 一个 | 1 | X | | 2 | 乙| 2 | 是 | | 3 | 一个 | 2 | Z | | 4 | 乙| 1 | 你 | | | | | | +----+------+------------------+-------------+
其中,列recipient_sender
中的值 1 表示用户是接收者,值 2 表示用户是发送者。
我需要通过以下方式呈现数据:
+----+------+------------+----------+ | 身份证 | 姓名 | 收件人 | 发件人 | +----+------+------------+----------+ | 1 | 一个 | X | Z | | 2 | 乙| 你 | 是 | +----+------+------------+----------+
我试过自我加入,但没有奏效。我不能使用MAX
with CASE WHEN
,因为记录的数量太大。
注意:请忽略不良的桌子设计,因为它只是真实桌子的简化示例