SQL中的联合表

时间:2014-11-02 08:46:04

标签: sql-server

我对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

因为它为我提供了输出 -

enter image description here

从图像中可以看出它正在返回两行。

一行视频表

一行cardTable

然而,数据正在按照我想要的方式出现,但是用两行管理数据仍然存在问题。

我想在一行中管理所有数据。我如何尝试将这些数据放在一行

1 个答案:

答案 0 :(得分:0)

这只是您问题的解决方案,但如果您想要从两个表中显示数据,那么您应该在它们之间有一个公共列,您可以通过连接获得结果。

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