2012-03-27 69 views
0

我有兩個名爲「User」和「EndpointSubnet」的表。如何合併具有共同屬性的兩個表?

  • USER表有3個屬性,即 '用戶鍵', 'URI' 和 'NextUpdateTS'
  • ENDPOINTSUBNET表具有2個屬性即 'SubnetIP' 和 'NextUpdateTS'。

NextUpdateTS屬性對於兩個表都是通用的。

URI是員工的LoginId,SubnetIP是他們的IP地址。

我需要做的是合併這兩個表使用通用屬性即NextUpdateTS。

表必須看起來像:

UserKey | URI | SubnetIP | NextUpdateTS 

我寫了一個查詢。這是給輸出,但在此查詢「SubnetIP」不顯示:

SELECT [URI],[UserKey],[NextUpdateTS] 
FROM [User] 
WHERE [NextUpdateTS] 
    IN(
    SELECT [NextUpdateTS] 
    FROM [User] 
    INTERSECT 
    (SELECT [NextUpdateTS] FROM [EndpointSubnet])) 

請告訴我在哪裏把SubnetIP在此查詢

+0

您應該真正告訴我們您正在使用哪種SQL方言。我相信你已經做到了,但是DarkGray移除了它? – AndreKR 2012-03-27 10:41:31

+1

從我可以看到它只說c#-4.0,這意味着SQL Server。 @ user1280381歡迎使用stackoverflow。用sql的問題,總是包括你的數據庫類型和版本。由於數據庫引擎之間有很多語法差異。所以知道你正在使用哪一個幫助我們來幫助你。 – Leigh 2012-03-27 19:10:27

回答

0

這不是一個簡單的加入?

SELECT [URI],[UserKey],[NextUpdateTS],[SubnetIP] 
FROM [User] 
JOIN [EndpointSubnet] ON [EndpointSubnet].[NextUpdateTS] = [User].[NextUpdateTS] 
+0

不,這不是....... – 2012-03-29 11:29:43

+0

但感謝您幫助我......我已經完成了這個......... – 2012-03-29 11:30:19

+0

它不是什麼方式? – AndreKR 2012-03-29 12:57:09

0

您正在使用哪些DBMS?在MySQL這將是一個簡單的INNER JOIN

SELECT u.URI, u.UserKey, es.SubnetIP, u.NextUpdateTS 
FROM User u 
INNER JOIN EndpointSubnet es ON u.NextUpdateTS = es.NextUpdateTS 

其他DBMS可能略有不同,但應該是非常相似的。

+0

我正在使用SQL Server 2008 ... – 2012-03-28 02:57:51

+0

然後上面應該工作。 – anothershrubery 2012-03-28 11:47:36

0

您需要註冊。

SELECT UserKey, URI, SubnetIP, User.NextUpdateTS 
FROM User 
JOIN EndpointSubnet 
ON User.NextUpdateTS = EndpointSubnet.NextUpdateTS 

爲了避免「不明確的列」的錯誤,放在User.NextUpdateTS面前。這兩個表中有兩列名稱。系統總是需要知道要顯示哪一列,比較等。

+0

它不工作...出現錯誤「模糊的列名NextUpdateTS」..​​..我使用Visual Studio 2008與C#...我正在處理Web應用程序....如果有一些不同的語法C#? – 2012-03-28 03:00:40

+0

更新了答案。我應該首先注意:) – boisvert 2012-03-28 06:50:27

相關問題