[英]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.