Я думаю, что ваш запрос не может оценить, какие столбцы на самом деле возвращаются SELECT * FROM table1
, поэтому он не знает, существует ли tb1.id
и является ли он первичным ключом.
Поскольку я вижу ваш запрос, вы можете сделать простое объединение, как это:
SELECT
*
FROM
table1 tb1
JOIN
table2 tb2 ON tb2.tb1_id = tb1.id
WHERE
tb2.date = '2019-03-06' AND tb1.date = '2019-03-06'
Результаты должны быть одинаковыми. Да, это может привести к снижению производительности, но оно не должно быть значительным.