2009-08-04 9 views
0

Dans une table de base de données avec une structure comme ceci:retour une autre valeur lorsque la ligne est inexistante

Tableau 1

Name | Id 
A  1 
B  2 

Tableau 2

Table1's ID | IntValue 
    1   11 
    2   66 

maintenant, il y a une requête qui joint les 2 tables et les sorties quelque chose comme

A | 11 
B | 66 

mais le problème est que lorsque, disons rangée (A, 1) est supprimé de table1 les sorties de la requête

| 11 
B | 66 

donc au lieu d'écrire A, il laisse nulle parce que la ligne n'existe pas.

Ma question est la suivante: Au lieu de la laisser vide, y a-t-il une option pour la faire écrire "Item Inexistent" ou smth?

Ma base de données est Firebird 2.1.2

Répondre

3
SELECT COALESCE(t1.name, 'Item nonexistent'), t2.intValue 
FROM table2 t2 
LEFT OUTER JOIN 
     table1 t1 
ON  t1.id = t2.id 
+0

Merci beaucoup, vos réponses fonctionnent toujours parfaitement – zz1433