Sql server SQL中的联合表

Sql server SQL中的联合表,sql-server,Sql Server,我对sql有点不了解,所以这对我来说是新的东西 我从两个表中选择数据并进行合并 declare @randomlinkscards table (cardTitleinfo nvarchar(max), cardIdinfo bigint ) declare @randomlinksvideos table ( videotitle nvarchar(max), videoid bigint ) insert into @r

我对sql有点不了解,所以这对我来说是新的东西

我从两个表中选择数据并进行合并

declare @randomlinkscards table
    (cardTitleinfo nvarchar(max),
    cardIdinfo bigint
    )
    declare @randomlinksvideos table
    (
    videotitle nvarchar(max),
    videoid bigint
    )
    insert into @randomlinkscards(cardTitleinfo,cardIdinfo) select top 1 cardTable.cardTitle,cardTable.CardId from cardTable where is_active='True' order by newid()
    insert into @randomlinksvideos(videotitle,videoid) select top 1 videos.title,videos.video_id from videos where is_active='True' order by newid()
    select videotitle,videoid from @randomlinksvideos union all select * from @randomlinkscards
因为它为我提供了输出-

从图像中可以看到它返回两行

一行视频表

一行卡片表

然而,数据是按我所希望的方式来的,但使用两行管理数据是一个持续存在的问题


我想在一行中管理所有数据。如何尝试在一行中获取此数据这只是您问题的解决方案,但如果您希望显示两个表中的数据,则它们之间应该有一个公共列,您可以通过join获得结果

SELECT (SELECT videotitle
        FROM   @randomlinksvideos)videotitle,
       (SELECT videoid
        FROM   @randomlinksvideos)videoid,
       (SELECT cardTitleinfo
        FROM   @randomlinkscards) cardTitleinfo,
       (SELECT cardIdinfo
        FROM   @randomlinkscards) cardIdinfo 

展示你的期望output@Ganesh_Devlekar,我的预期输出是这两行中的一行,我想您需要分别两行。。。。??然后只需从@randomlinksvideos中删除UNIONALL
选择videotitle、videoid;从@randomlinkscards中选择*@Ganesh_Devlekar,但这显示了来自两个不同表的结果,我希望使用一行进行联合,使用预期输出的更多行会更好