2014-11-02 75 views
-1

我對sql有點低迷,所以這對我來說是新鮮事。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

顯示您的預期輸出 – 2014-11-02 08:48:00

+0

@Ganesh_Devlekar,我的預期成果是這兩行 – Manoj 2014-11-02 08:49:28

+0

我想你....分開希望兩排的一排?然後刪除union all'從@randomlinksvideos中選擇videotitle,videoid; select * from @randomlinkscards;' – 2014-11-02 08:50:41

回答

0

這只是解決您的問題,但如果你想從兩個表中顯示數據,那麼你應該有他們之間的公共列,你可以通過連接獲得結果。

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