php运行SQL语句 提示 ORA-00923: 未找到要求的 FROM
$sql='SELECT
VIPBaseDataQuery.name AS name,
VIPBaseDataQuery.mobilePhonNo AS mobilePhonNo,
VIPBaseDataQuery.gender AS gender,
VIPBaseDataQuery.birthday AS birthday,
VIPBaseDataQuery.liveAddress AS liveAddress,
VIPBaseDataQuery.job.name AS job.name,
CardInfoQuery.currentBonus AS currentBonus,
CardInfoQuery.VipCardNumber AS VipCardNumber,
CardInfoQuery.cardType.name AS cardType.name
FROM
(SELECT
VIPCARD.FFreezeStatus AS FREEZESTATUS,
VIPCARD.FCardStatus AS CARDSTATUS,
VIPCARD.FMasterFlag AS MASTERFLAG,
VIPCARD.FVipCardNumber AS VIPCARDNUMBER,
VIPCARD.FPanelNumber AS PANELNUMBER,
PARENTCARDNUMBER.FVipCardNumber AS PARENTCARDNUMBER.VIPCARDNUMBER,
VIPNUMBER.FNumber AS VIPNUMBER.NUMBER,
VIPNUMBER.FName_l2 AS VIPNUMBER.NAME,
CARDTYPE.FName_l2 AS CARDTYPE.NAME,
VIPCARD.FCardKind AS CARDKIND,
CARDCATEGORY.FName_l2 AS CARDCATEGORY.NAME,
CARDGRADE.FName_l2 AS CARDGRADE.NAME,
VIPCARD.FParValue AS PARVALUE,
VIPCARD.FCostFee AS COSTFEE,
VIPCARD.FIsSecurity AS ISSECURITY,
VIPCARD.FIsEffectCtrl AS ISEFFECTCTRL,
VIPCARD.FEffectRange AS EFFECTRANGE,
VIPCARD.FEffectDate AS EFFECTDATE,
VIPCARD.FInValidateDate AS INVALIDATEDATE,
VIPCARD.FCurrentBonus AS CURRENTBONUS,
VIPCARD.FCumulateBonus AS CUMULATEBONUS,
VIPCARD.FCurrentValue AS CURRENTVALUE,
VIPCARD.FCumulateValue AS CUMULATEVALUE,
VIPCARD.FReturnProfitAmount AS RETURNPROFITAMOUNT,
VIPCARD.FCumulateProfit AS CUMULATEPROFIT,
VIPCARD.FLastReturnDate AS LASTRETURNDATE,
VIPCARD.FFirstConsumeDate AS FIRSTCONSUMEDATE,
VIPCARD.FLastConsumeDate AS LASTCONSUMEDATE,
VIPCARD.FConsumeCount AS CONSUMECOUNT,
VIPCARD.FCumulateConsumeAmout AS CUMULATECONSUMEAMOUT,
VIPCARD.FTeamCustomer AS TEAMCUSTOMER,
VIPCARD.FRemark AS REMARK,
ISSUEORG.FName_l2 AS ISSUEORG.NAME,
BIZMAN.FName_l2 AS BIZMAN.NAME,
VIPCARD.FID AS ID,
ISSUEBY.FName_l2 AS ISSUEBY.NAME,
VIPCARD.FIssueDate AS ISSUEDATE,
VIPCARD.FCheckCode AS CHECKCODE,
VIPCARD.FConsumWay AS CONSUMWAY,
VIPCARD.FIsCreditCard AS ISCREDITCARD,
VIPCARD.FCheckWay AS CHECKWAY,
VIPCARD.FCurrentCount AS CURRENTCOUNT,
SONCARDCATE.FName_l2 AS SONCARDCATE.NAME,
SONCARDCATE.FNumber AS SONCARDCATE.NUMBER,
VIPCARD.FValidityUnit AS VALIDITYUNIT
FROM orcl0320.T_RT_VipCard AS VIPCARD
LEFT OUTER JOIN orcl0320.T_BD_Person AS BIZMAN
ON VIPCARD.FBizManID = BIZMAN.FID
LEFT OUTER JOIN orcl0320.T_RT_CardCategory AS CARDCATEGORY
ON VIPCARD.FCardCategoryID = CARDCATEGORY.FID
LEFT OUTER JOIN orcl0320.T_RT_VIPBaseData AS VIPNUMBER
ON VIPCARD.FVipNumber = VIPNUMBER.FID
LEFT OUTER JOIN orcl0320.T_RT_VipCard AS PARENTCARDNUMBER
ON VIPCARD.FParentCardNumberID = PARENTCARDNUMBER.FID
LEFT OUTER JOIN orcl0320.T_ORG_Sale AS ISSUEORG
ON VIPCARD.FIssueOrgID = ISSUEORG.FID
LEFT OUTER JOIN orcl0320.T_RT_CardType AS CARDTYPE
ON VIPCARD.FCardTypeID = CARDTYPE.FID
LEFT OUTER JOIN orcl0320.T_RT_CardGrade AS CARDGRADE
ON VIPCARD.FCardGradeID = CARDGRADE.FID
LEFT OUTER JOIN orcl0320.T_PM_User AS ISSUEBY
ON VIPCARD.FIssueByID = ISSUEBY.FID
LEFT OUTER JOIN orcl0320.T_RT_CardCategory AS SONCARDCATE
ON VIPCARD.FSonCardCategoryId = SONCARDCATE.FID) AS CardInfoQuery LEFT JOIN (SELECT
VIPBASEDATA.FNumber AS NUMBER,
VIPBASEDATA.FName_l2 AS NAME,
VIPBASEDATA.FDescription_l2 AS DESCRIPTION,
VIPBASEDATA.FBaseStatus AS BASESTATUS,
VIPBASEDATA.FID AS ID,
VIPBASEDATA.FControlUnitID AS CU.ID,
VIPBASEDATA.FCertType AS CERTTYPE,
VIPBASEDATA.FIdCard AS IDCARD,
VIPBASEDATA.FCreditQuota AS CREDITQUOTA,
VIPBASEDATA.FUsedCreditQuota AS USEDCREDITQUOTA,
VIPBASEDATA.FGender AS GENDER,
VIPBASEDATA.FBirthday AS BIRTHDAY,
VIPBASEDATA.FFamilyCount AS FAMILYCOUNT,
VIPBASEDATA.FTelephoneNo AS TELEPHONENO,
VIPBASEDATA.FMobilePhonNo AS MOBILEPHONNO,
VIPBASEDATA.FEmail AS EMAIL,
VIPBASEDATA.FMSNNumber AS MSNNUMBER,
VIPBASEDATA.FQQNumber AS QQNUMBER,
VIPBASEDATA.FAcceptEmail AS ACCEPTEMAIL,
VIPBASEDATA.FAcceptSMS AS ACCEPTSMS,
VIPBASEDATA.FAcceptMail AS ACCEPTMAIL,
CITY.FName_l2 AS CITY.NAME,
VIPBASEDATA.FVehicleType AS VEHICLETYPE,
VIPBASEDATA.FVipDegree AS VIPDEGREE,
VIPBASEDATA.FHomeTown AS HOMETOWN,
VIPBASEDATA.FLiveAddress AS LIVEADDRESS,
VIPBASEDATA.FPostalcode AS POSTALCODE,
VIPBASEDATA.FWorkUnit AS WORKUNIT,
VIPBASEDATA.FRemark AS REMARK,
JOB.FName_l2 AS JOB.NAME,
EDUCATION.FName_l2 AS EDUCATION.NAME,
FAMILYINCOME.FName_l2 AS FAMILYINCOME.NAME,
NATION.FName_l2 AS NATION.NAME,
SOWNTOWN.FName_l2 AS SOWNTOWN.NAME,
COMMUNITY.FName_l2 AS COMMUNITY.NAME,
VIPBASEDATA.FWorkZipCode AS WORKZIPCODE,
CITY.FNumber AS CITY.NUMBER,
JOB.FNumber AS JOB.NUMBER,
EDUCATION.FNumber AS EDUCATION.NUMBER,
FAMILYINCOME.FNumber AS FAMILYINCOME.NUMBER,
NATION.FNumber AS NATION.NUMBER,
SOWNTOWN.FNumber AS SOWNTOWN.NUMBER,
COMMUNITY.FNumber AS COMMUNITY.NUMBER
FROM orcl0320.T_RT_VIPBaseData AS VIPBASEDATA
LEFT OUTER JOIN orcl0320.T_ORG_CtrlUnit AS CU
ON VIPBASEDATA.FControlUnitID = CU.FID
LEFT OUTER JOIN orcl0320.T_BD_City AS CITY
ON VIPBASEDATA.FCityID = CITY.FID
LEFT OUTER JOIN orcl0320.T_RT_Job AS JOB
ON VIPBASEDATA.FJobID = JOB.FID
LEFT OUTER JOIN orcl0320.T_RT_Education AS EDUCATION
ON VIPBASEDATA.FEducationID = EDUCATION.FID
LEFT OUTER JOIN orcl0320.T_RT_FamilyIncome AS FAMILYINCOME
ON VIPBASEDATA.FFamilyIncomeID = FAMILYINCOME.FID
LEFT OUTER JOIN orcl0320.T_RT_Nation AS NATION
ON VIPBASEDATA.FNationID = NATION.FID
LEFT OUTER JOIN orcl0320.T_RT_Sowntown AS SOWNTOWN
ON VIPBASEDATA.FSowntownID = SOWNTOWN.FID
LEFT OUTER JOIN orcl0320T_RT_Community AS COMMUNITY
ON VIPBASEDATA.FCommunityID = COMMUNITY.FID) AS VIPBaseDataQuery ON (CardInfoQuery.vipNumber.number=VIPBaseDataQuery.number)';
$oci_rs=oci_parse($dbconn,$sql);
求指教