【问题标题】:How to compare the one table elements to another table如何将一个表元素与另一个表进行比较
【发布时间】:2018-03-21 16:52:50
【问题描述】:

使用下面的查询,我得到了使用 update_date 在表中更新的最后一条记录

SELECT form_id,form_elements,form_builder_type, update_date FROM `form_builder` WHERE form_id=1 AND form_builder_type='example' ORDER BY update_date DESC LIMIT 1

输出如下

现在我有了第二个包含字段名称和字段类型的表

我必须检查来自第一个表的 form_elements 在第二个表中是否可用。 如果在表格中可用,则显示字段名称和字段类型

我需要一个类似的输出

lastname:  text
email   :  email
 

你能帮我解决这个问题吗?

【问题讨论】:

    标签: php mysql database join


    【解决方案1】:

    不会告诉你像你这样保存数据不是正确的做事方式,所以:

    SELECT t.id, t.form_builder_type, e.field_type FROM form_builder t
    LEFT JOIN form_elements e 
    
    ON e.field_name regexp concat('(',replace(e.form_elements, ',','|'),')');
    

    希望你能用它来更新你的方案;)

    【讨论】:

    • 感谢回复,但是我应该在哪里使用 where 子句,因为我必须设置条件,就像我必须设置 id 1 和最后更新记录一样
    • 像往常一样,在查询结束时只需添加 WHERE t.id = 1 (或其他)
    • 我试过了,我得到了错误的输出,你连接了与 id 1 相关的整个字段
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-30
    • 2019-01-19
    • 1970-01-01
    相关资源
    最近更新 更多