SQL语句:列出三级关联表的相关数据

时间:2011-01-05 阅读:
jtms_company(企业表) 字段: ID、CompanyName、.......、SalesID(业务员ID) jtms_salesman(业务员表) 字段:SalesID、Name、AgentID(所属代理商ID)... jtms_agent(代理商表) 字段:AgentID、AgentName... 最终要得到所有企业的名称以及对应的业务员和代理商 SELECT CompanyName as 企业名称,(select Name from [jtms_salesman] where SalesID=[jtms_company].SalesID) as 业务员,(select AgentName from [jt

jtms_company(企业表)
字段: ID、CompanyName、.......、SalesID(业务员ID)

jtms_salesman(业务员表)
字段:SalesID、Name、AgentID(所属代理商ID)...

jtms_agent(代理商表)
字段:AgentID、AgentName...

最终要得到所有企业的名称以及对应的业务员和代理商

SELECT CompanyName as 企业名称,(select Name from  [jtms_salesman] where SalesID=[jtms_company].SalesID) as 业务员,(select AgentName from  [jtms_agent] where AgentID=(select AgentID FROM [jtms_salesman] where SalesID=[jtms_company].SalesID)) as 代理商 FROM [jtms_company]

同理,用这方法可以得出将博CMS的新闻标题、栏目名称、频道名称

SELECT Title as 新闻标题,(select Title from [jcms_normal_class] where ID=[jcms_module_article].ClassId) as 栏目名称,(select Title from [jcms_normal_channel] where Id=(select ChannelId FROM [jcms_normal_class] where Id=[jcms_module_article].ClassId)) as 频道名称 FROM [jcms_module_article]

只不过在将博cms的新闻表中本身就存储了频道编号,所以无须如此“繁琐”。

 

[责任编辑:jumbot]

[发表评论] [收藏本页]