【发布时间】:2015-11-01 19:40:31
【问题描述】:
我有两张桌子,即 PESANMASUK 和 KONTAK。在 PESANMASUK 我有 5 个文件:IDMASUK、TANGGALMASUK、JAM、NOMERHP、ISIPESAN。 和 KONTAK 我有 3 个文件:IDKONTAK、NAMA、NOHP。
PESANMASUK 表数据:
IDMASUK TANGGALMASUK JAM NOMERHP ISIPESAN
1 09/08/2015 09:00 +62847776 try sms
2 08/08/2015 10:00 +62856790 plase come in
3 08/08/2015 06:00 +6283444 you and me
KONTAK 表数据:
IDKONTAK NAMA NOHP
1 RIAN +62847776
2 ALFIAN +62856790
这个结果是我想要的:
IDMASUK TANGGALMASUK JAM NOMERHP NAMA ISIPESAN
1 09/08/2015 09:00 +62847776 RIAN try sms
2 08/08/2015 10:00 +62856790 ALFIAN plase come in
3 08/08/2015 06:00 +6283444 you and me
这是我的 oracle 查询:
SELECT IDMASUK, TANGGALMASUK, JAM, NOMERHP, ISIPESAN,
(SELECT NAMA FROM KONTAK WHERE NOHP IN (SELECT NOMERHP FROM PESANMASUK)) AS NAMA
FROM PESANMASUK
我收到这样的错误:
ORA-01427: single-row subquery returns more than one row
我想在 PESANMASUK 中的 NOMERHP 和 KONTAK 中的 NAMA 之间进行匹配并返回所有行。
我该如何解决这个问题??
【问题讨论】:
-
请使用示例数据和所需结果编辑您的问题。
-
@GordonLinoff 我已经为我的问题进行了编辑,..请建议我如何解决这个问题,..我在下面使用 listagg() 尝试了您的查询,但 NAMA 仍然有空白结果..