子查询和具有不同条件的不同表上的联接

时间:2019-04-24 09:48:16

标签: mysql join subquery conditional

我正在尝试从不同的表中获取结果。需要一些帮助来编写查询,我是MySQL的新手。

我有1张桌子 tbl_opp_details ,其中包含public func stack(apply closure: (UIStackView) -> Void) -> UIStackView { let stack = UIStackView() closure(stack) return stack } 个不同的桌子:

ID's来自moduleId

tbl_module包含relatedId与来自不同表(tbl_account,tbl_contact,...)的垂直模块有关。 enter image description here 在上图中,

ID's

现在,我想显示有关客户,联系人的所有信息

moduleId "1" -> Account (tbl_account)

moduleId "2" -> Contact (tbl_contact)

tbl_account

enter image description here

tbl_contact enter image description here

tbl_call_a_log enter image description here

需要一个将这些表联接起来并给出结果的查询。

更新1: 我的查询:

moduleId "1" -> Account (tbl_account) relatedTo "1" -> pin_1

moduleId "1" -> Account (tbl_account) relatedTo "2" -> epr_2

出现错误

  

MySQL说:文档

     

#1064-您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册以使用正确的语法   在第16行的'.accountId WHERE callLog.moduleId = 1)LIMIT 0,25附近

更新2:

SELECT 
    callLog.oppCallLogId, 
    callLog.subject, 
    callLog.comments, 
    callLog.moduleId, 
    modules.moduleName, 
    callLog.relatedTo, 
    accounts.account, 
    callLog.createdBy, 
    callLog.createdDtm, 
    callLog.updatedBy, 
    callLog.updatedDtm 
FROM tbl_opp_call_log AS callLog 
INNER JOIN tbl_module AS modules ON modules.moduleId=callLog.moduleId 
INNER JOIN (
    SELECT accounts.account FROM tbl_account AS accounts INNER JOIN callLog.relatedTo=accounts.accountId WHERE callLog.moduleId=1)

重复输出。

欢迎您提供任何帮助。

0 个答案:

没有答案