可以在任何一個可以幫助我解決下面的查詢..如何編寫右外組合JOIN和LEFT OUTER JOIN
在這裏,我們有 1. LEFT OUTER JOIN 2.兩個右外連接
如何既結合右和左辛普森和創建與上述相同的效果,
我需要重寫相同的查詢,這是因爲我是我們的老MS SQL2009轉換成MS SQL2012 ..並在2012年*=
,=*
是不支持。
SELECT X.master_key, X.vendor_code
FROM
X, Y, X x2
WHERE Y.master_key = X.parent_key
AND Y.master_key *= x2.parent_key
AND x2.INITIALS =* Y.DEFAULT_INITIALS
AND x2.VENDOR_CODE =* Y.VENDOR_ABBREV
AND Y.project_name = 'TEST'
我在上面的代碼如下修改與我的基本知識和沒有在所有
SELECT X.master_key, X.vendor_code
FROM
X,
Y left outer join X x2
on Y.master_key = x2.parent_key,
X vnd RIGHT OUTER JOIN Y vnm
(on vnd.INITIALS = vnm.DEFAULT_INITIALS AND vnd.VENDOR_CODE = vnm.VENDOR_ABBREV)
WHERE Y.master_key = X.parent_key
AND Y.project_name = 'TEST'
的工作,我沒有得到期望的值作爲初始查詢必須做的。
下面是我的全部原始查詢..
SELECT vnd.master_key, vnd.vendor_code
FROM
vnd, vnm, vnd vn2
WHERE vnm.master_key = vnd.parent_key
AND vnm.master_key *= vn2.parent_key
AND vn2.INITIALS =* vnm.DEFAULT_INITIALS
AND vn2.VENDOR_CODE =* vnm.VENDOR_ABBREV
AND vnm.inactive = 0
AND vnd.inactive = 0
AND vnm.project_name = 'TEST'
ORDER BY
lower(vnm.company_name + ' '), lower(vnd.vendor_code) ,lower(vnd.first_name + ' '), lower(vnd.last_name + ' ')
你給的作品,但你可以做上面一個也
SELECT X.master_key, X.vendor_code
FROM X
INNER JOIN Y ON X.parent_key = Y.master_key
LEFT OUTER JOIN X AS x2 ON x2.parent_key = Y.master_key AND x2.INITIALS = Y.DEFAULT_INITIALS AND x2.VENDOR_CODE = Y.VENDOR_ABBREV
WHERE Y.project_name = 'TEST'
問候 薩拉薩
你能寫表結構嗎? – Sohail
對不起sohail它保密,這是我改名 – user2045810
我的問題是如何結合LF.OJ和RG.OJ – user2045810