Oracle SQL - 需要翻转值,但不知道如何

问题描述

select kasutaja_nimi,eesnimi,perenimi,r_nimetus,seeria_nr,max(paigalduse_aeg) as paigaldus
from kasutaja ka
right join riistvara ri on ka.id = ri.id
right join r_paigaldus r on ka.id = r.kasutaja_id
group by kasutaja_nimi,r_nimetus;

Output

这是输出,但我需要更改这些值。我有两者的 ID 主键 - kasutaja 和 riistvara,但我不知道如何将 kasutaja ID 1 与 riistvara ID 2 匹配,反之亦然。

Kasutaja and riistvara

输出应该是这样的:

enter image description here

我的输出中的 R_NIMETUS 和 SEERIA_NR 字段与我使用代码得到的不同。

解决方法

您无法交叉数据,因为您在两个表之间没有逻辑链接。

你只有一个解决方案,你必须改变你的表结构:

场景一

如果有父子关系,请在子表上加外键

扫描仪 2

如果您有 n:m 关系,请创建一个中间表,其中包含父子表的 fks。

因此在您的查询中,您可以使用 JOIN 操作来正确显示您的结果