修改选择查询

时间:2014-01-28 07:34:52

标签: sql select

现有查询:

SELECT av.FIELD3, av.STRINGVALUE FROM attrvalue av 
   WHERE av.FIELD3 IN 
   (
      SELECT ha. EXTNL_ATTR_ID FROM thd.HD_ATTR ha 
        WHERE ha.ATTR_GRP_ID IN (14,15)
   ) 
   AND av.catentry_id >= 100000000

想要修改此查询以选择此列:ha.ATTR_GRP_ID

请协助。

2 个答案:

答案 0 :(得分:1)

与HD_ATTR表进行连接

SELECT av.FIELD3, av.STRINGVALUE, ha.ATTR_GRP_ID 
FROM attrvalue av 
INNER JOIN 
(
    SELECT _ha.EXTNL_ATTR_ID, _ha.ATTR_GRP_ID 
    FROM thd.HD_ATTR _ha 
    WHERE ha.ATTR_GRP_ID IN (14,15)
) ha
ON ha.EXTNL_ATTR_ID = AV.FIELD3
WHERE av.catentry_id >= 100000000

答案 1 :(得分:0)

据我了解,您需要从子查询中的表中访问无法完成的数据。相反,您需要将此查询重组为两个表之间的连接,以便您可以确定哪个组与哪个记录一起使用。

我建议你通过在两个表上使用内连接来尝试这个