2017-03-10 20 views
-3

请谁能帮助我?MariaDB - 选择

我有这些表:

资产

id | name 
1234 | server1 
2345 | server2 
3456 | activeYES 
4567 | activeNO 
5678 | new 
6789 | old 

ASSET_ASSOCIATED

id | associated_id 
1234 | 3456 
1234 | 5678 
2345 | 4567 
2345 | 6789 

如何选择在name列中的值匹配 'activeYES' 的价值观和 '新'在associated_id列中知道我期望看到'server1'作为输出?

+0

你可以添加你想要得到这个样本的输出?这会使问题更加清楚。 – Mureinik

+0

当然可以!对不起!我期望看到'server1'作为输出。 –

回答

0

你可以使用内部联接和条款

select * from ASSET_ASSOCIATED 
inner join ASSET on ASSET.id = ASSET_ASSOCIATED.associated_id 
where ASSET.name in ('new', ' activeYES'); 

基于数据 这retunr server1的

select ASSET.name 
from ASSET 
where id in (select distinct ID from 
    from ASSET_ASSOCIATED 
    inner join ASSET on ASSET.id = ASSET_ASSOCIATED.associated_id 
    where ASSET.name in ('new', ' activeYES') 
) 
+0

你好,谢谢你的回答,但是我最终没有在我的问题中提出一个重要的数据,那就是我想要得到值'server1'作为结果。 –

+0

@FelippeTabachidaCruz answer updated .. – scaisEdge