我有一个mssql数据库名称Organization
我有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
col与来自Product的OrganizationID
col匹配,我需要匹配Product的ProductId
和{{ 1}}来自ProductId
非常感谢任何帮助。如果您需要更多信息,请与我们联系。
谢谢
答案 0 :(得分: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
答案 1 :(得分: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'
答案 2 :(得分:0)
用户user3022598 在临时表中获取此查询的结果:
SELECT distinct o.OrganizationName,p.AssetNumber,i.IPAddress 来自组织o
INNER JOIN产品p ON o.OrganizationID = p.OrganizationID INNER JOIN IPAddress i ON p.ProductId = i.ProductId
其中o.OrganizationName ='orgname'
然后你可以在ipaddress字段上应用disctint。
答案 3 :(得分:-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检查&让我知道是否有效。