SQL查询拆分并对应另一个表

时间:2012-06-18 12:31:23

标签: mysql sql

我有两张桌子:

Table_A
name1
create_date

Table_B
name2
keep_time

name1类似xxxxxx-yyy,name2类似于xxxxxxx。 name2正好是{ - 1}}的第一部分,由' - '分隔。

我想获取name1Table_A小于(现在 - keep_time)的所有行。

根据您的理解,问题是我如何将create_date分开' - '字符并获取第一部分并从{{1}获取name1 }通过相应的keep_time

我需要在MySQL中编写SQL来进行此类查询吗?

由于

1 个答案:

答案 0 :(得分:1)

如果我已正确理解您的要求:

SELECT a.* FROM table_A a
  LEFT JOIN table_B b on b.name2 = SUBSTRING_INDEX(a.name1, '-', 1)
  WHERE DATEDIFF(NOW(), a.create_date) < b.keep_time  

编辑:DateDiff。