Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在查询中使用多个表返回空值_Sql_Toad - Fatal编程技术网

Sql 在查询中使用多个表返回空值

Sql 在查询中使用多个表返回空值,sql,toad,Sql,Toad,我是SQL新手,只知道最基本的知识。如果有人能在下面的问题上提供帮助,我将不胜感激。这将返回所有字段有值的值,但是对于LO.Filurecode,如果有空值,则需要将其返回给alow me,以识别和填充缺少的值。谁能帮我看看下面的酷儿 alter session set current_schema=maximo; select l.location, l.description, l.siteid, l.type, l.status, lh.parent, lo.failurecode, l

我是SQL新手,只知道最基本的知识。如果有人能在下面的问题上提供帮助,我将不胜感激。这将返回所有字段有值的值,但是对于LO.Filurecode,如果有空值,则需要将其返回给alow me,以识别和填充缺少的值。谁能帮我看看下面的酷儿

alter session set current_schema=maximo;

select
l.location,
l.description,
l.siteid,
l.type,
l.status,
lh.parent,
lo.failurecode,
lo.locpriority,
L.PLUSGSAFETYCRIT,
L.PLUSGENVCRIT,
L.PLUSGCOMCRIT,
L.PLUSGEXREGISTERED,
l.ta,
l.taqamanufacturer,
l.modelnum,
l.PLUSGLOCREFERENCE,
l.PLUSGPHYSLOC 
from
locations l, lochierarchy lh, locoper lo
where
l.location = lh.location
and l.location = lo.location
and l.siteid = lo.siteid
and l.siteid = lh.siteid
and l.type ='OPERATING'
and lh.systemid ='PRIMARY'
and l.siteid ='COA'
order by location

以下是经过一些重构的查询:

SELECT l.location,
    l.description,
    l.siteid,
    l.type,
    l.status,
    lh.parent,
    lo.failurecode,
    lo.locpriority,
    l.PLUSGSAFETYCRIT,
    l.PLUSGENVCRIT,
    l.PLUSGCOMCRIT,
    l.PLUSGEXREGISTERED,
    l.ta,
    l.taqamanufacturer,
    l.modelnum,
    l.PLUSGLOCREFERENCE,
    l.PLUSGPHYSLOC 
FROM locations l
LEFT JOIN lochierarchy lh ON lh.location = l.location
                            AND lh.siteid = l.siteid
                            AND lh.systemid = 'PRIMARY'
LEFT JOIN locoper lo ON lo.location = l.location
                       AND lo.siteid = l.siteid
WHERE l.type ='OPERATING'
and l.siteid ='COA'
ORDER BY l.location
我使用了显式连接语法(
内部连接,左连接
),而不是您使用的老式语法。它更具可读性,也更容易理解


希望这会有所帮助。

为此目的,请使用左或右外部联接。。。。这也会给你空白的数据..谢谢Joel感谢help@user4094290如果查询解决了您的问题,请不要忘记将您的问题标记为“已回答”Joel我可以再问一个问题吗?是否可以为lochierarchy表包含空值,以及该表中是否会出现一些空值,因为当我检查locations表时,该表返回的记录仍然比queery中的记录多。@user4094290我编辑了我的查询以允许表中的空值
lochierarchy
谢谢这回答了我的问题谢谢帮助。