select ma.TITLE,ma.ID as aid,ur.USER_ID
from LEO_MENU_ACTIVITY_RELATION mr
inner join LEO_MENU_MASTER mm on mm.ID=mr.MENU_ID
INNER join LEO_MENUACTIVITY ma on mr.ACTIVITY_ID=ma.ID
LEFT OUTER JOIN LEO_USER_RIGHTS ur on ma.ID=ur.MENU_RELATION_ID and ur.MENU_ID=mm.ID and ur.USER_ID='141'
where mm.ID='1'
UNION (SELECT
'List' as TITLE,
1 as ID,
case (WHEN ur.MENU_RELATION_ID=1 THEN NULL ELSE USER_ID END)as USER_ID
from
LEO_USER_RIGHTS)
Dans l'Union je veux effectuer une sélection, comme condition si ur.MENU_RELATION_ID = 1 alors la USER_ID doit être sélectionné comme NULL sinon la valeur originale des « LEO_USER_RIGHTS La table doit être récupérée.Oracle: Comment utiliser si alors dans une instruction select
Comment puis-je faire cela? S'il vous plaît aider
Krishnik
À l'exception d'un ensemble mystérieux de parenthèses apparaissant avant WHEN et après END, cette expression CASE semble correcte. Quel problème éprouvez-vous? –
pour clarifier, supprimer ces parenthèses: cas QUAND ur.MENU_RELATION_ID = 1 ALORS NULL ELSE USER_ID END – gdj
Vous le faites correctement. Où est le problème? Êtes-vous en train de dire que vous voulez avoir une condition basée sur le syndicat? – hol