简体   繁体   English

内部联接值相同的表

[英]Inner Join Same table for values

My Table has entries as below. 我的表具有以下条目。 Where object id would be same. 对象ID相同的地方。 I need to pick up the other value of object id which has "HR" / "Infra" for that particular object_id. 我需要为该特定的object_id选择对象ID为“ HR” /“ Infra”的其他值。

--------------------------------------------------
|id     | field_id  | object_id     | value_text
----------------------------------------------------    
|182    |   11      | 149           | HR
|183    |   13      | 149           | Learning Management   
|184    |   11      | 150           | HR 
|185    |   13      | 150           | Compensation & Benefits   
|186    |   11      | 151           | HR 
|187    |   13      | 151           | Leave Management  
|188    |   11      | 152           | HR 
|189    |   13      | 152           | Compensation & Benefits   
|190    |   11      | 153           | Infra 
|191    |   13      | 153           | Hardisk   
|192    |   11      | 154           | Infra 
|193    |   13      | 154           | Software  
|194    |   11      | 155           | Infra
|195    |   13      | 155           | Network   
|196    |   11      | 156           | HR 
|197    |   13      | 156           | Position Management   
|198    |   11      | 139           | HR 
|199    |   13      | 139           | Compensation & Benefits   
|200    |   11      | 157           | Infra 
|201    |   13      | 157           | Network       

Query: 查询:

SELECT d.value_text 
FROM dynamic d 
INNER JOIN dynamic dv ON d.object_id = d.object_id AND d.field_id = "13" 
                     AND dv.field_id = "11" AND dv.value_text = "HR"

output required: 需要的输出:

--------------
| value_text |
--------------
| Learning Management 
| Compensation & Benefits
| Position Management

Second Query: 第二个查询:

SELECT d.value_text 
FROM dynamic d 
INNER JOIN dynamic dv ON d.object_id = d.object_id AND d.field_id = "13" 
                     AND dv.field_id = "11" AND dv.value_text = "Infra"

output required: 需要的输出:

--------------
| value_text |
--------------
| Network 
| Software
| Hardisk

How to modify the query to get the details. 如何修改查询以获取详细信息。 .

you want to have the both queries combined? 您想将两个查询结合起来吗?

then you can do this: 那么您可以执行以下操作:

SELECT d.value_text FROM dynamic d 
INNER JOIN dynamic dv ON d.object_id = d.object_id AND
d.field_id = "13" AND dv.field_id = "11" 
AND (dv._obejct_id = "Infra" OR dv._obejct_id = "HR")

I hope this is what you needed. 我希望这就是您所需要的。

not sure what you are asking for, but try these: 不确定您要的是什么,但是请尝试以下操作:

select
      dv.id, dv.field_id, dv.object_id, dv.value_text
from dynamic d
inner join dynamic dv on dv.field_id = 13 and d.object_id = dv.object_id
where d.field_id = 11
and d.value_text = 'HR'
;

select
      dv.id, dv.field_id, dv.object_id, dv.value_text
from dynamic d
inner join dynamic dv on dv.field_id = 13 and d.object_id = dv.object_id
where d.field_id = 11
and d.value_text = 'Infra'
;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM