simple-rangée sous-requête renvoie plusieurs lignes oracle

J'ai trois tables comme ci-dessous:

Test

    +--------------+--------+
    | Test_Case_ID | Status |
    +--------------+--------+
    |           10 | PASS   |
    |           20 | FAIL   |
    |           30 | FAIL   |
    +--------------+--------+

Défaut

    +-----------+
    | Defect_ID |
    +-----------+
    |       500 |
    |       400 |
    +-----------+

et link1

    +--------------+-----------+
    | Test_Case_ID | Defect_ID |
    +--------------+-----------+
    |           20 |       500 |
    |           30 |       500 |
    |           30 |       400 |
    +--------------+-----------+

Je suis en train de la requête ci-dessous

select 
test.test_case_id,
test.status,
case when test.status = 'FAIL' then 
(select link1.defect_id 
from link1 
where 
test.test_case_id = link1.test_case_id) 
end as defect1_id
from test test

J'obtiens l'erreur ci-dessous "Erreur 12/20/2012 10:05:17 0:00:00.093 Crapaud pour les Analystes de Données: ORA-01427: simple-rangée sous-requête renvoie plusieurs lignes 1 78
"

Est-il un moyen de récupérer à la fois les enregistrements de "30" à partir de la table de lien? Parce que je veux afficher que les cas de test en 30 qui est défectueux en raison de défauts de 500 & 400.

Merci beaucoup

votre clause where est inversé de la sous-requête
Tu veux dire que ça doit être where link1.test_case_id = test.test_case_id. J'ai essayé aussi et toujours la même erreur.
Vous avez deux dossiers en lien avec Test_Case_ID = 30. Qui Defect_ID voulez-vous obtenir?

OriginalL'auteur javanoob | 2012-12-20