Вложенный запрос запроса MySQL

Я пытаюсь запустить вложенный запрос на MySQL (phpmyadmin) и через PHP, и оба приводят к тому же самому результату, который является неправильным.

ПРИМЕЧАНИЕ. Название таблицы было обрезано из-за чувствительности проекта

SELECT * FROM `table1` WHERE ID="SELECT `field1` FROM `table2` WHERE ID=1" 

Это возвращает нулевые строки, хотя каждый запрос сам по себе дает действительный результат, как показано ниже

 SELECT `field1` FROM `table2` WHERE ID=1 

Дает требуемый результат, и этот вывод, когда он используется в первой части основного запроса, обеспечивает также то, что требуется. Пожалуйста помоги.

Не вставляйте его в кавычки. Вместо этого заключите его в круглые скобки:

 SELECT * FROM `table1` WHERE ID=(SELECT `field1` FROM `table2` WHERE ID=1) 

Если из подзапроса ожидается несколько строк, используйте WHERE ID IN (SELECT...) вместо WHERE ID=(SELECT...)

Вы, вероятно, получите лучшую производительность с помощью JOIN :

 SELECT table1.* FROM table1 JOIN table2 ON table1.ID = table2.field1 WHERE table1.ID = 1 

Ваш вложенный запрос неверен, он должен выглядеть следующим образом:

 SELECT * FROM `table1` WHERE ID in (SELECT `field1` FROM `table2` WHERE ID=1) 

В вашем случае вы сравниваете table1.ID со строкой, содержащей второй запрос.