Каков результат выполнения оператора PDO, содержащего два запроса SELECT? - PullRequest
1 голос
/ 16 марта 2011

Каков результат выполнения оператора в PDO, если он содержит два запроса select? Рассмотрим эту таблицу:

A    B
------
a    1
b    2
c    3
d    4
e    5
f    6

и этот запрос PDO:

$sql = $pdo->prepare("
    SELECT A FROM Table WHERE B > 3;
    SELECT A FROM Table WHERE B < 3;
");
$sql->execute();

Что вернет $sql->fetchAll()? 1008 *

Ответы [ 2 ]

4 голосов
/ 16 марта 2011

Вы выполняете оператор с 2 SELECT запросами, $sql->fetch() возвращает результаты только из 1-го оператора.

2 голосов
/ 16 марта 2011

Объедините запросы, используя UNION ALL

Вот так:

SELECT A FROM Table WHERE B > 3;     
UNION ALL
SELECT A FROM Table WHERE B < 3;

Первый оператор выбора возвращает записи d, e, f для A. Второе утверждение возвращает a, b для A. Результат объединяется в один возврат

d,e,f,a,b

Теперь я могу получить свои очки;) (шучу)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...