您的位置:首页 > 数据库

多表联合查询SQL语句

2011-12-21 17:06 316 查看
$tempSQL = "SELECT portfolio.bmi_no as bmi_no,portfolio.title1 as title1,portfolio.lname1 as lname1,portfolio.fname1 as fname1,member.login_name as login_id, portfolio.lname2 as lname2,portfolio.fname2 as fname2,portfolio.principle as principle,portfolio.email
as email,portfolio.policy_no as policy_no,portfolio_file.en_file as en_file,portfolio_file.en_enable as en_enable,policy_status.problem_type as problem_type

FROM `portfolio` LEFT JOIN `member` ON portfolio.full_name=member.full_name and portfolio.dob=member.dob

LEFT JOIN `policy_status` ON portfolio.policy_no = policy_status.policy_no AND policy_status.is_live =1

LEFT JOIN `policy_fund` ON portfolio.principle=policy_fund.principle AND portfolio.policy_no=policy_fund.policy_no AND policy_fund.is_live=1

LEFT JOIN `portfolio_file` on portfolio.bmi_no = portfolio_file.bmi_no AND ".$report_criteria;

解释之后的SQL语句:

SELECT
portfolio.bmi_no
AS
bmi_no,
portfolio.title1
AS
title1,
portfolio.lname1
AS
lname1,
portfolio.fname1
AS
fname1,
member.login_name
AS
login_id,
portfolio.lname2
AS
lname2,
portfolio.fname2
AS
fname2,
portfolio.principle
AS
principle,
portfolio.email
AS
email,
portfolio.policy_no
AS
policy_no,
portfolio_file.en_file
AS
en_file,
portfolio_file.en_enable
AS
en_enable,
policy_status.problem_type
AS
problem_type

FROM
`portfolio`

LEFT
JOIN `member`
ON portfolio.full_name
=
member.full_name

AND
portfolio.dob
=
member.dob

LEFT
JOIN `policy_status`
ON
portfolio.policy_no
=
policy_status.policy_no

AND
policy_status.is_live
=1

LEFT
JOIN `policy_fund`
ON
portfolio.principle
=
policy_fund.principle

AND
portfolio.policy_no
=
policy_fund.policy_no

AND
policy_fund.is_live
=1

LEFT
JOIN `portfolio_file`
ON
portfolio.bmi_no
=
portfolio_file.bmi_no

AND
portfolio_file.year
=
'2011'

AND
portfolio_file.month
=
'12'

LIMIT
0 ,
30
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: