2015-02-09 69 views
0

我想從SQL中提取數據到excel文件,下面是表中的示例數據。 數據僅存在於一個表中,我無法控制數據插入的方式,因此無法在更多的表之間使用連接。SQL Server:在一個表中加入

+------+--------------------------------+--------------------------------------+------------------------------------+ 
| ID |    URL    |    TITLE     |    LINKS_TO    | 
+------+--------------------------------+--------------------------------------+------------------------------------+ 
| 1 | http://www.loc.gov/   | Library        | http://www.loc.gov/library   | 
| 2 | http://www.loc.gov/library  | Catalog        | NULL        | 
| 3 | http://www.nasa.gov/   | NASA         | http://www.nasa.gov/images   | 
| 4 | http://www.nasa.gov/images  | National Institutes of Health (NIH) | NULL        | 

我需要提取OR​​IGINAL_URL和TITLE的是outlink(LINKS_TO)作爲輸出我把下面。我嘗試加入桌子本身,但對我來說太複雜了。這是需要的輸出。

+------------------------------+---------------------------------------+ 
|   ORIGIN_URL   |     TITLE     | 
+------------------------------+---------------------------------------+ 
| http://www.loc.gov/   | Catalog        | 
| http://www.nasa.gov/   | National Institutes of Health (NIH) | 

請幫忙嗎?

+0

學校工作?向我們展示您當前的嘗試! – jarlh 2015-02-09 13:28:44

回答

2

您可以LEFT OUTER JOIN此表本身:

SELECT U.URL AS ORIGIN_URL,   
     Linked.TITLE 
FROM dbo.URLs U 
LEFT OUTER JOIN dbo.URLs Linked 
    ON U.LINKS_TO = Linked.URL  

或者使用INNER JOIN如果你只是想那些被鏈接:

SELECT U.URL AS ORIGIN_URL,   
     Linked.TITLE 
FROM dbo.URLs U 
INNER JOIN dbo.URLs Linked 
    ON U.LINKS_TO = Linked.URL  
+0

謝謝你的答案。我試圖簡化該示例,但我的表包含列族,讓我添加用於創建表的代碼。 CREATE TABLE IF NOT EXISTS TBL(ID VARCHAR NOT NULL PRIMARY KEY,F.URL VARCHAR,P.TITLE VARCHAR,LINKS_TO VARCHAR);你能告訴我查詢應該如何與列家庭? – user2598997 2015-02-09 13:44:31

+0

@ user2598997您的'CREATE TABLE'語句不包含'Families'列。 – 2015-02-09 13:46:14

+0

@ user2598997。 。 。蒂姆回答了你的問題。如果你還有其他問題,你應該問一下,提供你真正需要的更多細節。 – 2015-02-09 13:47:19