-1

我有一个包含以下列/数据的表 A

SECURITY PURCHASEDATE    NAICRating   NAICDate 
 XX        10/12/2013
 YY        10/14/2013

和表B如下

SECURITY  NAICRating   NAICDate
  XX        AA         10/12/2013
  XX        AAA        10/13/2013
  XX        AA         10/14/2013
  YY        AA         10/15/2013
  YY        B          10/16/2013

我现在希望表 A 在表 A 中的 PURCHASEDATE 上或之后从 B 获取最早的 NAICdate

表 A 应如下所示

SECURITY PURCHASEDATE    NAICRating   NAICDate 
 XX        10/12/2013      AA          10/12/2013
 YY        10/14/2013      AA          10/15/2013

使用 MySQL 实现这一目标的最佳方法是什么?

4

1 回答 1

0

内连接只会显示两个表中都存在的记录。

select a.security, 
       IF(a.purchasedate < b.naicrating, a.purchasedate, b.naicrating), 
       b.naicrating, 
       IF(a.purchasedate < b.naicdate, a.purchasedate, b.naicdate)
from a inner join b on a.security = b.security
order by naicdate;

这可以帮助 IF 语句http://www.mysqltutorial.org/mysql-if-function.aspx

于 2013-10-30T19:55:58.297 回答