I have a SELECT statement:
SELECT searchstring1, searchstring2 FROM t1 WHERE user_id = number;
Which produces multiple rows:
[result1, result2]
[result3, result4]
[result5, result6]
Now I want to use these rows for a new SELECT statement, like this:
SELECT val1, val2, val3 FROM t2 WHERE val1 LIKE '%searchstring1%' AND val2 = 'searchstring2';
Which produces even more rows:
[result7, result8, result9]
[result10, result11, result12]
.
.
.
[result100, result101, result102]
And then insert the resulting rows into a third table:
INSERT INTO t3 (val1, val2, val3) VALUES ('result7', 'result8, 'result9');
INSERT INTO t3 (val1, val2, val3) VALUES ('result10', 'result11, 'result12');
.
.
.
I know I have to do some form of join on the first two, and probably have to do the insert as a new query - but I have no idea how to do it. Can you help? And is it possible to do all this in one query?
Maybe something like this:
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
)