Sql Oracle:从同一个表中选择值(联接)

Sql Oracle:从同一个表中选择值(联接),sql,oracle,select,join,Sql,Oracle,Select,Join,我需要从该表中选择值,其中值列表中的NDI,以及DATE\u ISSUE=DATE\u ISSUE\u MAX中的每个值 我有这张桌子: 执行时: SELECT NDI FROM OM_DB.FT_PFS_SBC_TICKETS WHERE NDI in ('0556254201','0559592626') AND DATE_ISSUE=( SELECT MAX(DATE_ISSUE) FROM OM_DB.FT_PFS_SBC_TICKETS ); 我得到的NDI为空:

我需要从该表中选择值,其中值列表中的
NDI
,以及
DATE\u ISSUE=DATE\u ISSUE\u MAX
中的每个值

我有这张桌子:

执行时:

SELECT NDI
FROM OM_DB.FT_PFS_SBC_TICKETS
WHERE NDI in ('0556254201','0559592626')
AND DATE_ISSUE=(
    SELECT MAX(DATE_ISSUE) 
    FROM OM_DB.FT_PFS_SBC_TICKETS
);
我得到的
NDI为空

而不是:


尽管还有其他方法,但您需要此方法的相关子查询:

select t.NDI
from OM_DB.FT_PFS_SBC_TICKETS t
where t.NDI in ('0556254201', '0559592626') and
      t.DATE_ISSUE = (SELECT MAX(t2.DATE_ISSUE)
                      FROM OM_DB.FT_PFS_SBC_TICKETS t2
                      WHERE t2.NDI = t.NDI
                     );

尽管还有其他方法,但您需要此方法的相关子查询:

select t.NDI
from OM_DB.FT_PFS_SBC_TICKETS t
where t.NDI in ('0556254201', '0559592626') and
      t.DATE_ISSUE = (SELECT MAX(t2.DATE_ISSUE)
                      FROM OM_DB.FT_PFS_SBC_TICKETS t2
                      WHERE t2.NDI = t.NDI
                     );
对于NDI
0559321162
,该表的
max(DATE\u ISSUE)
31/10/17
。对于您提供的NDI,没有包含最长日期的条目

您应该将
in
子句也添加到子查询中,或者将其作为相关查询

对于NDI
0559321162
,该表的
max(DATE\u ISSUE)
31/10/17
。对于您提供的NDI,没有包含最长日期的条目


您应该将
in
子句也添加到子查询中,或者将其设置为相关查询

您应该比较与每个NDI相关的值

  select NDI
  from OM_DB.FT_PFS_SBC_TICKETS
  where NDI in ('0556254201','0559592626')
  and (NDI, DATE_ISSUE)  =(SELECT NDI, MAX(DATE_ISSUE) 
            FROM OM_DB.FT_PFS_SBC_TICKETS GROUP BY NDI);


您应该比较与每个NDI相关的值

  select NDI
  from OM_DB.FT_PFS_SBC_TICKETS
  where NDI in ('0556254201','0559592626')
  and (NDI, DATE_ISSUE)  =(SELECT NDI, MAX(DATE_ISSUE) 
            FROM OM_DB.FT_PFS_SBC_TICKETS GROUP BY NDI);


实际上,这个查询可以简化如下:

SELECT NDI, MAX(DATE_ISSUE) 
FROM OM_DB.FT_PFS_SBC_TICKETS WHERE NDI in('0556254201', '0559592626') GROUP BY NDI;

实际上,这个查询可以简化如下:

SELECT NDI, MAX(DATE_ISSUE) 
FROM OM_DB.FT_PFS_SBC_TICKETS WHERE NDI in('0556254201', '0559592626') GROUP BY NDI;

是的,这是oracle SharmaThe
max(DATE_ISSUE)
该表的NDI
31/10/17
0559321162
。对于您提供的NDI,没有包含最长日期的条目。是的,它是oracle SharmaThe
max(date\u ISSUE)
,该表的NDI
31/10/17
0559321162
。对于您提供的NDI,没有包含最长日期的条目。