2013-12-17 91 views
1

我有一個MSSQL數據庫名稱組織加入了多個表

我有3個表:

Table 1 named Organization 
Table 2 named Product 
Table 3 named IPAddress 

表1收益約1000個結果這是罰款。

SELECT distinct OrganizationName, AssetNumber 
FROM OrganizationList 
Where OrganizationName = 'orgname' 

我希望看到的是每個組織的資產編號。我不知道如何做到這一點。我知道需要一個連接,並嘗試了一堆來自網絡的例子,但我無法使其工作。

此外,我想能夠得到的名稱IP地址對每個資產

的問題我一個運行到是我需要從組織OrganizationID山坳從產品的OrganizationID山坳比賽,我需要匹配ProductId從產品和ProductIdIPAddress

任何幫助將不勝感激。請讓我知道你是否需要更多的信息。

謝謝

+0

您應該發佈所有表結構 - 每個表具有的列。 – gotqn

回答

0

還應該列出你的IP地址。

SELECT distinct c1.OrganizationName, c2.AssetNumber, c3.IPAddress 
FROM Organization c1 

INNER JOIN Product c2 
    ON c1.OrganizationID = c2.OrganizationID 
INNER JOIN IPAddress c3 
    ON c2.ProductId = c3.ProductId 

Where c1.OrganizationName = 'orgname' 
+0

此查詢實際上適用於我想要的大部分內容。你能告訴我如何在IPAddress字段上選擇不同的字段嗎?但是應該在8上顯示16個重複。 –

+0

你是什麼意思在IPAddress字段選擇不同。該查詢已經爲每個組織和資產編號選擇了不同的IP地址。此外,這與我19分鐘前提交的答案有何不同? – Linger

+0

@林格林不知道我厭倦了讓你的工作,我一直得到一個無法綁定在他的AssetNumber和IPAddress feilds –

0

我在這裏做一些猜測,因爲你沒有給我們所有的信息來充分幫助你。以下查詢如何:

SELECT DISTINCT o.OrganizationName, p.AssetNumber, ip.IPaddress 
FROM Organization AS o 
    INNER JOIN Product AS p 
    ON o.OrganizationID = p.OrganizationID 
    INNER JOIN IPAddress AS ip 
    ON p.ProductId = ip.ProductId 
Where o.OrganizationName = 'orgname' 

我沒有看到任何需要加入OrganizationList表。如果您確實需要它然後添加以下連接:

INNER JOIN OrganizationList AS ol 
ON o.OrganizationID = ol.OrganizationID 
-2

試試這個:

select o.OrgName, o.AssetNo 
from OrgList o 
join Prdct p 
on o.orgid = p.orgid 
Union All 
select p.productid/name, i.ipadress 
from product p 
join ipadres i 
on p.prdid=i.prdid 

PLZ檢查&讓我知道,如果作品或沒有。

+1

僅當兩個表具有完全相同的列結構時,聯盟纔有效 –

0

此查詢的臨時表的user3022598 採取結果:

SELECT DISTINCT o.OrganizationName,p.AssetNumber,i.IPAddress FROM組織爲O

INNER JOIN產品p ON o.OrganizationID = p.OrganizationID INNER JOIN IPAddress i ON p.ProductId = i.ProductId

W這裏o.OrganizationName ='orgname'

然後你可以在ipaddress字段上應用disctint。