我有两张桌子:
我需要将两个表连接在一起,但是每个Module条目都不需要UserProfile表。我将传递两个变量ModuleSectionID和UserID。这些将有助于缩小最终结果的范围。
期望的结果应该是这样的
M.ModuleID, M.ModuleData, M.ModuleSection, U.UserProfileID, U.UserID, U.ModuleID
---------------------------------------------------------------------------------
13 "DataData" 3 1 132 13
12 "Data2Data2" 3 Null Null Null
15 "Data3Data3" 3 3 132 15
答案 0 :(得分:3)
使用:
SELECT m.moduleid,
m.moduledata,
m.modulesection,
up.upserprofileid,
up.userid,
up.moduleid
FROM MODULE m
LEFT JOIN USERPROFILE up ON up.moduleid = m.moduleid
AND up.userid = IN_USERID
WHERE m.modulesection = IN_MODULESECTIONID
IN_USERID
和IN_MODULESECTIONID
代表您要提供给查询的变量。
答案 1 :(得分:1)
试试这个:
SELECT M.ModuleID, M.ModuleData, M.ModuleSectionID, U.UserProfileID, U.UserID, U.ModuleID
FROM Module m, UserProfile u
WHERE M.ModuleSctionID = <MODULE_SECTIONID_PARAMETER>
AND M.ModuleID = U.ModuleID(+)
AND <USER_ID_PARAMETER> = U.UserID (+)