Sql server 如何在MS SQL SERVER 2012中构造查询以获得单行输出

Sql server 如何在MS SQL SERVER 2012中构造查询以获得单行输出,sql-server,sql-server-2012,Sql Server,Sql Server 2012,我是MS SQL编程的新手,但我需要这个问题的帮助,我想从另一个表中获取订阅类型,如果它们满足某些条件,则将它们作为列名。此查询正在工作,但它将复制结果集,这不是我希望这些查询工作的内容。以下是我的疑问 这是我想要的示例输出 divisionsname Benchmark Goalgetter Tax Credits aaa Yes No Yes bbb No Ye

我是MS SQL编程的新手,但我需要这个问题的帮助,我想从另一个表中获取订阅类型,如果它们满足某些条件,则将它们作为列名。此查询正在工作,但它将复制结果集,这不是我希望这些查询工作的内容。以下是我的疑问

这是我想要的示例输出

    divisionsname Benchmark  Goalgetter   Tax Credits
         aaa       Yes          No           Yes
         bbb        No          Yes           Yes
    But the code give me something like this
     divisionsname Benchmark  Goalgetter   Tax Credits<Br>
         aaa       Yes          No           No
         aaa       No           No           Yes
         bbb       No           Yes          No
         bbb       No           No           Yes
问题是

SELECT sectors.name AS Sector_name,
       companies.name AS Company_Name,
       divisions.name AS Primary_Office,
       Addresses.address1 AS Address1,
       Addresses.address2 AS Address2,
       Addresses.address3 AS Address3,
       Addresses.town AS Town,
       Addresses.postcode AS Postcode,
       Counties.name AS County,
       Countries.name AS Country,
       divtelephone.details AS Telephone,
       membershiptypes.description AS Membership_Type,
       CASE contacts.titletype
           WHEN 1 THEN 'None'
           WHEN 2 THEN 'Mr'
           WHEN 3 THEN 'Mrs'
           WHEN 4 THEN 'Miss'
           WHEN 5 THEN 'Ms'
           WHEN 6 THEN 'Master'
           WHEN 7 THEN 'Dr'
           WHEN 8 THEN 'Rev'
           WHEN 9 THEN 'Sir'
           WHEN 10 THEN 'Capt'
           WHEN 11 THEN 'Prof'
           ELSE 'N/A'
       END AS Salutation,
       Contacts.firstname AS Firstname,
       Contacts.lastname AS Lastname,
       contactemailaddress.details AS Email_Adress,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 1 THEN 'yes'
           ELSE 'no'
       END AS Benchmark,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 2 THEN 'yes'
           ELSE 'no'
       END AS GoalGetter,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 3 THEN 'yes'
           ELSE 'no'
       END AS TaxCredits,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 7 THEN 'yes'
           ELSE 'no'
       END AS PMILicense,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 8 THEN 'yes'
           ELSE 'no'
       END AS '£2mfromPMIevent',
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 9 THEN 'yes'
           ELSE 'no'
       END AS PMIplus,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 10 THEN 'yes'
           ELSE 'no'
       END AS ConsultingTraining,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 11 THEN 'yes'
           ELSE 'no'
       END AS EP_OutrightPurchaseofModule1,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 12 THEN 'yes'
           ELSE 'no'
       END AS EP_OngoingSubscription,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 13 THEN 'yes'
           ELSE 'no'
       END AS UseofLogo,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 14 THEN 'yes'
           ELSE 'no'
       END AS PMI,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 15 THEN 'yes'
           ELSE 'no'
       END AS BusinessBuilderForum,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 16 THEN 'yes'
           ELSE 'no'
       END AS BusinessConsulting,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 17 THEN 'yes'
           ELSE 'no'
       END AS '4PSalesandMarketing',
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 18 THEN 'yes'
           ELSE 'no'
       END AS PeopleandLeadership,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 19 THEN 'yes'
           ELSE 'no'
       END AS BuildingaBetterTaxPractice,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 20 THEN 'yes'
           ELSE 'no'
       END AS SensationalService,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 21 THEN 'yes'
           ELSE 'no'
       END AS Systemisation,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 22 THEN 'yes'
           ELSE 'no'
       END AS TaxConference2011,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 23 THEN 'yes'
           ELSE 'no'
       END AS PayLessTax,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 24 THEN 'yes'
           ELSE 'no'
       END AS TaxNDA,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 25 THEN 'yes'
           ELSE 'no'
       END AS SBPurchasedPre2013,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 26 THEN 'yes'
           ELSE 'no'
       END AS SBStarterPack,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 27 THEN 'yes'
           ELSE 'no'
       END AS SBStandardBusinessContent,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 28 THEN 'yes'
           ELSE 'no'
       END AS WebHosting,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 30 THEN 'yes'
           ELSE 'no'
       END AS Migration,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 31 THEN 'yes'
           ELSE 'no'
       END AS GSRB2BB2C,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 32 THEN 'yes'
           ELSE 'no'
       END AS Migration,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 33 THEN 'yes'
           ELSE 'no'
       END AS EPOSoftwareUpgrade,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 34 THEN 'yes'
           ELSE 'no'
       END AS EPMOdule2,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 35 THEN 'yes'
           ELSE 'no'
       END AS EPMOdule3,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 36 THEN 'yes'
           ELSE 'no'
       END AS EPModule4,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 37 THEN 'yes'
           ELSE 'no'
       END AS EPModule5,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 38 THEN 'yes'
           ELSE 'no'
       END AS EPModule6,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 39 THEN 'yes'
           ELSE 'no'
       END AS EPModule7,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 40 THEN 'yes'
           ELSE 'no'
       END AS EPModule8,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 41 THEN 'yes'
           ELSE 'no'
       END AS EPModule9,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 42 THEN 'yes'
           ELSE 'no'
       END AS EPModule10,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 43 THEN 'yes'
           ELSE 'no'
       END AS EPModule11,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 44 THEN 'yes'
           ELSE 'no'
       END AS EPBonusModule,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 49 THEN 'yes'
           ELSE 'no'
       END AS AccountantsChangingtheWorld,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 50 THEN 'yes'
           ELSE 'no'
       END AS AVNExcellence4Star,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 51 THEN 'yes'
           ELSE 'no'
       END AS AVNExcellence5Star,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 52 THEN 'yes'
           ELSE 'no'
       END AS ANVExcellence6Star,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 53 THEN 'yes'
           ELSE 'no'
       END AS BWSFeeProtection,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 54 THEN 'yes'
           ELSE 'no'
       END AS CoreEmployeeBenefits,
       CASE subscriptionhistories.subscriptiontype_id
           WHEN 55 THEN 'yes'
           ELSE 'no'
       END AS Suspended
FROM contacts
INNER JOIN divisions ON divisions.id = contacts.division_id
AND divisiontype=1
AND contacttype=2
AND (contacts.isdeleted<>1
     AND divisions.isdeleted<>1)
INNER JOIN companies ON companies.id = divisions.company_id
AND (companies.isdeleted<>1)
INNER JOIN sectors ON sectors.id = companies.sector_id
INNER JOIN addresses ON addresses.id = divisions.company_id
INNER JOIN counties ON counties.id = Addresses.county_id
INNER JOIN countries ON countries.id = counties.country_id
LEFT OUTER JOIN subscriptionhistories ON subscriptionhistories.entityid = divisions.id
AND (subscriptionhistories.startdate < GETDATE()
     AND (subscriptionhistories.enddate IS NULL
          OR subscriptionhistories.enddate > GETDATE()))
INNER JOIN subscriptiontypes ON subscriptiontypes.id = subscriptionhistories.subscriptiontype_id
AND Subscriptiontypes.entitytype=2
LEFT OUTER JOIN communicationmethods AS divtelephone ON divtelephone.entitytype = 2
AND divtelephone.communicationmethodtype = 5
AND divtelephone.entityid = divisions.id
LEFT OUTER JOIN communicationmethods AS contactemailaddress ON contactemailaddress.entitytype=3
AND contactemailaddress.communicationmethodtype=1
AND contactemailaddress.entityid = contacts.id
INNER JOIN membershiphistories ON membershiphistories.company_id = companies.id
AND (membershiphistories.startdate < GETDATE()
     AND (membershiphistories.enddate IS NULL
          OR membershiphistories.enddate > GETDATE()))
INNER JOIN membershiptypes ON membershiptypes.id = membershiphistories.membershiptype_id

任何帮助都将不胜感激。谢谢你们。

你们想要什么?还是不清楚你们想要什么…请格式化你们的问题?很难阅读!!!对不起,伙计们,我对这个网站还是新手。我已经格式化了我想要的输出是什么样子的问题。