2010-01-31 5 views
0

Je ne sais pas si c'est possible mais y a-t-il un moyen de sélectionner A à moins que ce soit null alors sélectionnez B à la place?insérer/sélectionner avec une condition

Je suis en train d'écrire un déclencheur, mon code est

insert into tbl_a(userid, obj) 
select p.author, new.id 
FROM user_comment AS p 
WHERE p.id=new.parent 

cependant new.parent est une annulable longue (je vais passer à la clé étrangère une fois pris en charge dans system.data.sqlite) si son null je reçois 0 résultats et pas d'insertion. Je voudrais utiliser join media as m on m.id=new.media_id et retourner m.user_id si new.parent est null. Alors, comment puis-je écrire le sélectionner pour retourner m.author si le parent n'est pas null (que je vais retourner p.author comme le ci-dessus)

Répondre

1

Vous pouvez utiliser IFNULL(col1, col2). Si col1 n'est pas nul, il est retourné. Si col1 est nul, col2 est renvoyé.

+0

excellent. puis-je écrire une déclaration select dans les params? dois-je faire ifnull (a, b) sélectionnez name1 comme ..... fondamentalement je veux savoir si ifnull est avant le select ou si le select est à l'intérieur (ou si je dois google un exemple) –

+0

Votre question est assez confuse. Pourriez-vous décrire exactement ce que vous essayez d'accomplir, et quelles sont les actions souhaitées dans chaque cas? –

Questions connexes