Mysql таблиц соединения запросов не может использовать, где условие - PullRequest
1 голос
/ 13 февраля 2020

Я занимаюсь разработкой веб-сайта Wordpress, мне нужно получить значения таблицы соединений, используя условие where. Теперь я могу получить значения без использования where, но при этом отображаются несколько значений, я не получил соответствующие значения для определенного идентификатора. Если я использую, где я получаю ошибку. Я дал ниже мой код.

$result = $wpdb->get_results("SELECT 
    wp_candiform.numFormCand,
    wp_candiform.questionCand,
    wp_candiform.civilCand,

    wp_diplom.annee,
    wp_diplom.titre,
    wp_diplom.nive,

    wp_formation.CandFDQ,
    wp_formation.titreCandFDQ,
    wp_formation.mention,

    wp_confirmation.etatand,
    wp_confirmation.comment,
    wp_confirmation.etat1Cand

    FROM wp_candiform
    INNER JOIN wp_diplom ON wp_candiform.user_id = wp_diplom .user_id
    JOIN wp_formation ON wp_candiform.user_id = wp_formation .user_id
    JOIN wp_confirmation ON wp_candiform.user_id = wp_confirmation .user_id
    WHERE user_id='$user_id'"
    );

Ответы [ 2 ]

1 голос
/ 13 февраля 2020

В вашем коде все нормально, только небольшая ошибка в запросе. В конце

WHERE user_id='$user_id'

до

WHERE wp_candiform.user_id='$user_id'
1 голос
/ 13 февраля 2020

Поскольку вы присоединяетесь к таблицам, необходимо указать, какой идентификатор пользователя таблицы сравнивается в условии Where.

При использовании условия where необходимо добавить псевдоним таблицы в условие Where.

См. Код ниже.

$result = $wpdb->get_results("SELECT 
    wp_candiform.numFormCand,
    wp_candiform.questionCand,
    wp_candiform.civilCand,

    wp_diplom.annee,
    wp_diplom.titre,
    wp_diplom.nive,

    wp_formation.CandFDQ,
    wp_formation.titreCandFDQ,
    wp_formation.mention,

    wp_confirmation.etatand,
    wp_confirmation.comment,
    wp_confirmation.etat1Cand

    FROM wp_candiform
    INNER JOIN wp_diplom ON wp_candiform.user_id = wp_diplom .user_id
    JOIN wp_formation ON wp_candiform.user_id = wp_formation .user_id
    JOIN wp_confirmation ON wp_candiform.user_id = wp_confirmation .user_id
    WHERE wp_candiform.user_id='$user_id'"
    );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...