-1

我有两张桌子:

Table_A
name1
create_date

Table_B
name2
keep_time

name1类似于 xxxxxx-yyy 并且name2类似于 xxxxxxx。 name2恰好是name1由'-'分隔的第一部分。

我想获取 中的所有行Table_A,其keep_time小于(现在 - create_date)。

如您所知,问题是我如何拆分name1by '-' 字符并获取第一部分并keep_time通过Table_B对应的name2.

我需要在 MySQL 中为这样的查询编写 SQL 吗?

谢谢

4

1 回答 1

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  

编辑:日期差异。

于 2012-06-18T12:42:24.277 回答