Mysql Объединить 4 таблицы и создать логическое поле на четвертой - PullRequest
1 голос
/ 06 июня 2011

Это то, что действительно сводит меня с ума.

Три стола: кандидаты, офферы и кандидатуры.

Есть четвертый, называемый "cvtheque", имеющий поля: recruteur_id и candidat_id и другие ..

Я хочу добавить столбец к результатам, который возвращает логическую переменную

if(cvtheque.recruteur_id=candidatures.recruteur_id and    
cvtheque.candidat_id=candidatures.candidat_id) 

Следующий запрос возвращает столбцы результатов в виде:

    c_id    sexe    nom_prenom  cv_title    remplissage     offre_id    titre   
    candidature_id  lettre_id   entry_date

    SELECT 
    candidats.id as c_id, candidats.sexe, candidats.nom_prenom, 
    candidats.cv_title, candidats.remplissage, 

    offres.id AS offre_id, offres.titre, 
    candidatures.id as candidature_id, candidatures.lettre_id, candidatures.entry_date

    FROM candidats, offres JOIN candidatures
    WHERE candidatures.candidat_id = candidats.id
    AND candidatures.recruteur_id = '1'
    AND candidatures.offre_id = offres.id 
    ORDER BY candidatures.entry_date desc 
    LIMIT 0, 10

что я в действительности хочу, это добавить столбец Boolean после того, как последний столбец (entry_date) содержит значение логической переменнойсостояние (cvtheque.recruteur_id=candidatures.recruteur_id и cvtheque.candidat_id=candidatures.candidat_id)

1 Ответ

0 голосов
/ 06 июня 2011

Я думаю, что вы ищете СЛУЧАЙ КОГДА, , который объясняется здесь .

Или, возможно, простой ЕСЛИ сделает это -- документация SELECT IF(1<2,'yes','no');

SELECT ..... candidatures.entry_date,
IF(cvtheque.recruteur_id=candidatures.recruteur_id 
AND cvtheque.candidat_id=candidatures.candidat_id,'yes','no')
FROM....

Я не уверен в синтаксисе для IF condition1 AND condition2 в MySql.

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

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