SELECT l.*,Dev.*,lt.*,DT.*,ORG.* FROM LogList l, DevList Dev,LogType lt,DevType DT,OrgList ORG
WHERE l.DevCode=Dev.DevCode AND l.LogTypeID=lt.LogTypeID AND Dev.DevType=DT.DevTypeID or
AND l.OrgCode=ORG.OrgCode;四个表联合查询,但是Loglist.DevCode,orgcode可能会为空,SELECT l.*,Dev.*,lt.*,DT.*,ORG.* FROM LogList l, DevList Dev,LogType lt,DevType DT,OrgList ORG
WHERE l.DevCode=Dev.DevCode AND l.LogTypeID=lt.LogTypeID AND Dev.DevType=DT.DevTypeID or
AND l.OrgCode=ORG.OrgCode or (l.devcode is null)or(l.orgcode is null)这样好像不对,应该如何写呢?
FROM LogList l,
DevList Dev,
LogType lt,
DevType DT,
OrgList ORG
WHERE (l.DevCode=Dev.DevCode or l.devcode is null)
AND l.LogTypeID=lt.LogTypeID
AND Dev.DevType=DT.DevTypeID or
AND (l.OrgCode=ORG.OrgCode or l.orgcode is null)
SELECT l.*,Dev.*,lt.*,DT.*,ORG.*
FROM LogList l, DevList Dev,LogType lt,DevType DT,OrgList ORG
WHERE l.DevCode(+)=Dev.DevCode
AND l.LogTypeID(+)=lt.LogTypeID
AND l.OrgCode(+)=ORG.OrgCode
AND Dev.DevType=DT.DevTypeID;
SELECT l.*,Dev.*,lt.*,DT.*,ORG.* FROM LogList l, DevList Dev,LogType lt,DevType DT,OrgList ORG
WHERE l.DevCode=Dev.DevCode AND l.LogTypeID=lt.LogTypeID AND Dev.DevType=DT.DevTypeID or
AND l.OrgCode=ORG.OrgCode;
minus
SELECT '','',''....... l.* from LogList l where DevCode is null or orgcode is null;