我有以下查詢 -優化查詢聯接
select res.name, test.stringvalue
from tr_resource res
left outer join
(select rch.resourceid,cv.stringvalue from tr_resourcecharac rch
inner join tr_characvalue cv on rch.characvalueid = cv.characvalueid
inner join tr_charac ch on cv.characid = ch.characid and ch.name='Security Clearance Required')test
on res.resourceid=test.resourceid
where res.resourceid=135021
我得到以下輸出這一點 -
name stringvalue
ABC null
我不想使用子查詢後,左聯接。可否請您讓我知道如果有寫這個查詢作爲系列的加入,我試圖寫下面的方式 -
select res.name,cv.stringvalue
from tr_resource res
left outer join tr_resourcecharac rch on res.resourceid=rch.resourceid
inner join tr_characvalue cv on rch.characvalueid =cv.characvalueid
inner join tr_charac ch on ch.characid=cv.characid and ch.name='Security Clearance Required'
where res.resourceid=135021
但這查詢產生任何輸出。
對於您可以參閱表方案 -
tr_resource爲 -
Resourceid name
135021 ABC
tr_charac作爲
characid name
1 Security Clearance Required
2 CH2
tr_characvalue爲 -
characvalueid characid stringvalue
cv1 1 XX
cv2 2 YY
cv3 2 zz
tr_resourcecharac爲 -
resourceid characvalueid
135021 cv2
我已經提出這個問題,但沒有人回答。因此,重新發布該問題提供更多信息
您在這裏發佈同樣的問題:http://stackoverflow.com/questions/17805712/left-outer-join-not-working!? – slavoo
是的,我試圖刪除它,但不能...已經提出刪除舊帖子的主持人。我在這裏提供了更多的信息 – anidesh