将3个SQL SELECT合并为1

Phi*_*ley 1 sql t-sql sql-server stored-procedures sql-server-2005

*更新*

抱歉! 我有点忙,匆忙,所以没有正确清理.

基本上3个问题都与用户细节有关.我正在为新客户端更新站点,我受当前数据库结构的限制.因此,我的目标是尝试在一个db calll而不是3个单独的calll中获取所有这些信息,因为这似乎是两者中最有效的方式.

我希望比我聪明的人可能知道一些忍者动作可以一次性找回这个.在发布之前我真的应该花更多的时间自己尝试一下.

谢谢你的时间.


常用值是@dealerId - 这是一个int值.

谢谢

    SELECT TOP(100) PERCENT dbo.ReferenceItems.Title 
    FROM dbo.AdvertiserLanguageLink 
    INNER JOIN dbo.ReferenceItems 
    ON dbo.AdvertiserLanguageLink.LanguageId = dbo.ReferenceItems.Id
    WHERE (dbo.AdvertiserLanguageLink.AdvertiserId = @dealerId) 
    ORDER BY dbo.ReferenceItems.Title



    SELECT TOP (100) PERCENT dbo.AircraftTypes.AircraftTypeDescription, dbo.AircraftTypes.AircraftTypeId 
    FROM dbo.AdvertiserAircraftTypeLink 
    INNER JOIN dbo.AircraftTypes 
    ON dbo.AdvertiserAircraftTypeLink.AircraftTypeId = dbo.AircraftTypes.AircraftTypeId 
    WHERE (dbo.AdvertiserAircraftTypeLink.AdvertiserId = @dealerId) 
    ORDER BY dbo.AircraftTypes.SortSequence



    SELECT TOP (1) dbo.Addresses.Country, dbo.Addresses.Telephone1 
    FROM dbo.AdvertiserAddressLink 
    INNER JOIN dbo.Addresses 
    ON dbo.AdvertiserAddressLink.AddressId = dbo.Addresses.Id 
    WHERE (dbo.AdvertiserAddressLink.AdvertiserId = @dealerId) 
    AND (dbo.Addresses.AddressType = 1 OR dbo.Addresses.AddressType = 0) 
    ORDER BY dbo.Addresses.Sequence
Run Code Online (Sandbox Code Playgroud)

JNK*_*JNK 5

你不能/不应该将它们结合起来.

您正在从所有3中的不同表中选择非常不同的数据.看起来它们完全不相关.您期望"组合"结果集看起来像什么?您正在组合书籍,飞机和电话信息?

你的目标究竟是什么?如果你告诉我们,我们可以给你一个不同的(正确的)路径.