Php 根据从第三个表中进行的选择,插入另一个表中的行

Php 根据从第三个表中进行的选择,插入另一个表中的行,php,mysql,sql,Php,Mysql,Sql,我有一个选择声明: SELECT searchstring1, searchstring2 FROM t1 WHERE user_id = number; 这将生成多行: [result1, result2] [result3, result4] [result5, result6] 现在我想将这些行用于新的SELECT语句,如下所示: SELECT val1, val2, val3 FROM t2 WHERE val1 LIKE '%searchstring1%' AND val2 = '

我有一个选择声明:

SELECT searchstring1, searchstring2 FROM t1 WHERE user_id = number;
这将生成多行:

[result1, result2]
[result3, result4]
[result5, result6]
现在我想将这些行用于新的SELECT语句,如下所示:

SELECT val1, val2, val3 FROM t2 WHERE val1 LIKE '%searchstring1%' AND val2 = 'searchstring2';
INSERT INTO t3 (val1, val2, val3)
SELECT
    t2.val1,
    t2.val2,
    t2.val3
FROM
    t2
WHERE EXISTS
    (
        SELECT
            NULL
        FROM
            t1
        WHERE
            t2.val1 LIKE CONCAT('%',t1.searchstring1,'%')
            AND t2.val2 LIKE CONCAT('%',t1.searchstring2,'%')
            AND t1.user_id = number
    )
这将产生更多的行:

[result7, result8, result9]
[result10, result11, result12]
.
.
.
[result100, result101, result102]
然后将结果行插入第三个表:

INSERT INTO t3 (val1, val2, val3) VALUES ('result7', 'result8, 'result9');
INSERT INTO t3 (val1, val2, val3) VALUES ('result10', 'result11, 'result12');
.
.
.

我知道我必须对前两个进行某种形式的连接,并且可能必须将insert作为一个新查询来执行,但我不知道如何执行。你能帮忙吗?有可能在一个查询中完成所有这些吗?

可能是这样的:

SELECT val1, val2, val3 FROM t2 WHERE val1 LIKE '%searchstring1%' AND val2 = 'searchstring2';
INSERT INTO t3 (val1, val2, val3)
SELECT
    t2.val1,
    t2.val2,
    t2.val3
FROM
    t2
WHERE EXISTS
    (
        SELECT
            NULL
        FROM
            t1
        WHERE
            t2.val1 LIKE CONCAT('%',t1.searchstring1,'%')
            AND t2.val2 LIKE CONCAT('%',t1.searchstring2,'%')
            AND t1.user_id = number
    )

在WHILE循环中插入这些值您在评论中提到了什么,您想
插入表t3或t2
。谢谢,这正是我需要的!