2015-01-04 82 views
-2

我試圖更新表命名的目錄,從表中指定的文件,當我使用它下面的SQL只更新第一行更新使用內部連接隻影響1行?

UPDATE dbo.directory 
SET navigateurl = (SELECT files.filename 
         FROM dbo.files 
          INNER JOIN directory 
           ON dbo.directory.id = files.id 
         WHERE (files.id = directory.id)); 

在表的文件我有:

id | filename  
1 | index.html  
1 | index2.html  
1 | index3.html  
2 | aio.html  
2 | aaa.html 

,並在表目錄中,我有:

id | parent_id | name | navigateurl 

我想要做的是能夠更新目錄表,以便表目錄中的字段parent_id將更新爲文件的字段ID,字段navigateurl將更新爲文件名,其中directory.id = files.id,my查詢只以上影響

第一行

+1

不清楚你在問什麼。爲您的示例數據提供期望的結果。 –

+0

顯示目錄中的數據。 –

回答

0

放在哪裏cluase之外的第二選擇。我的意思是把它的第一個選擇是這樣的:

UPDATE dbo.directory 
SET navigateurl = (SELECT files.filename 
         FROM dbo.files 
          INNER JOIN directory 
           ON dbo.directory.id = files.id) 
WHERE (files.id = directory.id) ;