加入不在Oracle中工作错误为nctb:电话号码无效标识符
我有2个查询,希望使用join检索数据 第一次查询如下,检索“电话号码”列 第二次查询如下,检索2列“MSISDN”和“shi”加入不在Oracle中工作错误为nctb:电话号码无效标识符,oracle,Oracle,我有2个查询,希望使用join检索数据 第一次查询如下,检索“电话号码”列 第二次查询如下,检索2列“MSISDN”和“shi” 我想使用第一个查询的“电话号码”和第二个查询的“MSISDN”列将这两个查询连接起来,去掉双引号。没什么好东西 应该是 SELECT "Phone_Number" --> double quotes here as well, if you used them ... FROM ( (SELECT p.VALUE "P
我想使用第一个查询的“电话号码”和第二个查询的“MSISDN”列将这两个查询连接起来,去掉双引号。没什么好东西 应该是
SELECT "Phone_Number" --> double quotes here as well, if you used them ...
FROM ( (SELECT p.VALUE "Phone_Number" --> ... here
或者,正如我所建议的,不要使用双引号:
select phone_number
from ((select p.value phone_number
也许最好将电话号码作为子查询包含在where语句中 所以像这样的事情
SELECT
TRIM (REPLACE (shid.msisdn, CHR (10), '')) Phone_Number
FROM
(
SELECT
shl.iccid,
MAX (shl.sim_history_id) AS shi
FROM
ninas_dba.sim_history_tb shl
GROUP BY shl.iccid
) shs,
ninas_dba.sim_history_tb shid,
ninas_dba.sim_history_tb sh,
ninas_dba.sim_card_tb sc,
ninas_dba.sim_card_type_tb sct,
ninas_dba.Tenant_tb smt
WHERE
shid.iccid = shs.iccid
AND sh.sim_history_id = shs.shi
AND shid.sim_status_id = 102
AND sc.iccid = shid.iccid
AND TRIM (REPLACE (shid.msisdn, CHR (10), '')) in (
SELECT
p.VALUE
FROM netcracker_rdb.RDB_BPI rd
JOIN netcracker_rdb.RDB_PROD_OFFER rpo
ON rd.PRODUCT_OFFERING = rpo.OBJECT_ID
JOIN netcracker_rdb.nc_params_pim p
ON p.object_id = rd.object_id
AND attr_id = 9138903692913092143
)
如其他答案中所述,只有当您的别名中有空格,所以“电话号码”需要引号时,才需要引号
我还认为,您需要重新评估您试图实现的目标,在这个查询中,检索单个属性会发生很多事情。也许有不同的途径可以追求同样的结果
希望有帮助。无法检索电话号码栏您的问题看起来很混乱,请按照规则进行查询好吗?见:和在ANSI-92 SQL标准(超过25年前)中,旧样式的逗号分隔表列表样式被正确的ANSI
JOIN
语法所取代,它的使用是不鼓励的DHI marc_s,实际上,我们从另一个团队得到了这一点,并指示我们不要修改两个查询,只相应地连接它们。所以我不得不跟着它走。我会记住这一点并在将来使用。。谢谢你的信息。嗨,Thnx。。一旦我从工作中解脱出来,我也会检查这个。。。知道第二条路也很好。。
select phone_number
from ((select p.value phone_number
SELECT
TRIM (REPLACE (shid.msisdn, CHR (10), '')) Phone_Number
FROM
(
SELECT
shl.iccid,
MAX (shl.sim_history_id) AS shi
FROM
ninas_dba.sim_history_tb shl
GROUP BY shl.iccid
) shs,
ninas_dba.sim_history_tb shid,
ninas_dba.sim_history_tb sh,
ninas_dba.sim_card_tb sc,
ninas_dba.sim_card_type_tb sct,
ninas_dba.Tenant_tb smt
WHERE
shid.iccid = shs.iccid
AND sh.sim_history_id = shs.shi
AND shid.sim_status_id = 102
AND sc.iccid = shid.iccid
AND TRIM (REPLACE (shid.msisdn, CHR (10), '')) in (
SELECT
p.VALUE
FROM netcracker_rdb.RDB_BPI rd
JOIN netcracker_rdb.RDB_PROD_OFFER rpo
ON rd.PRODUCT_OFFERING = rpo.OBJECT_ID
JOIN netcracker_rdb.nc_params_pim p
ON p.object_id = rd.object_id
AND attr_id = 9138903692913092143
)