Php MySQL плохой запрос, когда отображается на столе - PullRequest
0 голосов
/ 11 октября 2018

есть мой код, который выбирает 5 баз данных и отображается в таблице, но оператор where не работает

Где запрос игнорируется.

SELECT *
FROM events
UNION ALL
SELECT * FROM eventstwo
UNION ALL
SELECT * FROM eventsthree
UNION ALL
SELECT * FROM eventsfour
UNION ALL
SELECT * FROM eventsfive where atender='$obj'

Ответы [ 2 ]

0 голосов
/ 11 октября 2018
SELECT * FROM
              ( SELECT *
                FROM events
                UNION ALL
                SELECT * FROM eventstwo
                UNION ALL
                SELECT * FROM eventsthree
                UNION ALL
                SELECT * FROM eventsfour
                UNION ALL
                SELECT * FROM eventsfive)
                  AS derived
WHERE atender='$obj'
0 голосов
/ 11 октября 2018

Я подозреваю, что вы хотите, чтобы критерии WHERE применялись к каждому подзапросу в объединении.Если вы хотите этого, вам нужно добавить предложение WHERE в каждый подзапрос.Но, если вы действительно хотите использовать одно предложение WHERE, вы можете обернуть свой объединенный запрос и затем выполнить его подзапрос:

SELECT *
FROM
(
    SELECT * FROM events
    UNION ALL
    SELECT * FROM eventstwo
    UNION ALL
    SELECT * FROM eventsthree
    UNION ALL
    SELECT * FROM eventsfour
    UNION ALL
    SELECT * FROM eventsfive
) t
WHERE atender = '$obj';

Примечание: пожалуйста, по возможности используйте готовые операторы в своем PHP-коде.

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