1

file_repo に一致する ID があるが repo1_status に一致する ID が見つからない repo1 のすべての ID、名前、ファイルをリストする Oracle クエリを作成したい

repo1
id, name    
1,  abc 
2,  def
3,  emm
4,  xdd

file_repo
id, file
1,  a.c
2,  d.c
3,  e.c
4,  x.c

repo1_status
id, status, status_desc
1,  good,   new generated
3,  good,   new generated

これまでのところ、以下のクエリを書きましたが、うまくいきません。どんな助けでも

SELECT repo1.id, name,file
FROM repo1,file_repo,repo1_status
WHERE (repo1.id=file_repo.id and repo1.id!=repo1_status.id)
4

2 に答える 2

0

試す

 SELECT repo1.id, name,file_repo
 FROM repo1 INNER JOIN file_repo ON repo1.id = file_repo.id 
 WHERE repo1.id not in (SELECT id FROM repo1_status)
于 2012-10-31T12:54:05.347 に答える
0

あなたはこれを試すことができます

 SELECT repo1.id, name,file_repo
 FROM repo1 INNER JOIN file_repo ON repo1.id = file_repo.id 
 WHERE NOT EXISTS (SELECT id FROM repo1_status WHERE repo1_status.id = repo1.id)

EXISTSのリンクはこちら

また

SELECT repo1.id, name,file_repo
 FROM ((repo1 INNER JOIN file_repo ON repo1.id = file_repo.id)
      LEFT JOIN file_repo.id ON file_repo.id = repo1.id)
 WHERE file_repo.id is null

このleft joinようなものは と同じで、NOT EXISTSパフォーマンスが向上する可能性があります

于 2012-10-31T12:46:17.237 に答える