我有两张桌子:
Table_A
name1
create_date
Table_B
name2
keep_time
name1
类似xxxxxx-yyy,name2
类似于xxxxxxx。 name2
正好是{ - 1}}的第一部分,由' - '分隔。
我想获取name1
中Table_A
小于(现在 - keep_time
)的所有行。
根据您的理解,问题是我如何将create_date
分开' - '字符并获取第一部分并从{{1}获取name1
}通过相应的keep_time
。
我需要在MySQL中编写SQL来进行此类查询吗?
由于
答案 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。