вопрос вложенных запросов выбора - PullRequest
0 голосов
/ 09 мая 2011

У меня есть запрос на выборку, который выбирает мне таблицу со строками, я хочу получить конкретную строку из этого результата, но используя тот же первый запрос, я объясняю:

У нас есть запрос:

$myQuery=("select col1,col2 from table where ..");

Кажется, что так:

|col1|col2 |
|----------|
|res1|res11|
|res2|res21|
|res3|res31|

Я хочу сейчас получить, например, res31, но используя тот же последний запрос, который называется $myQuery, как мы добавляем select * from ... к этому.

Надеюсь, я все-таки объяснил, пожалуйста, скажите, если мне не хватило.

С уважением!

Ответы [ 2 ]

2 голосов
/ 09 мая 2011

Если я правильно понял: вы можете просто ввести

SELECT * FROM ($myQuery) WHERE id=31 (OR any other stuff you wish to)

MySQL поймет, что

0 голосов
/ 09 мая 2011

Если вы используете Mysqli , то вы можете использовать связанные параметры для достижения этой цели. PDO было бы еще лучше использовать.

Псевдо-код для того, как бы вы тогда делали это с помощью связанных параметров:

$myQuery = "SELECT col1, col2, FROM table WHERE col2 = ?";
$result_31 = $db->select($myQuery, Array('res31')); 
$result_32 = $db->select($myQuery, Array('res32')); 

Это только пример связанноговаш запрос к параметру ?.Окунитесь в API-интерфейсы mysqli и PDO, которые вам подходят.Настоятельно рекомендуется использовать PDO, поскольку позже вы можете перейти от использования mysql к postgres, если это необходимо, без изменения всех запросов к БД.

...