基本的に、file_place テーブルを見て、codes_document_names テーブルにある特定の ID を持つすべてのドキュメント名を見つけようとしています。
SELECT DOC_NAME
FROM FILE_PLACE
WHERE LINKED_ID = 140145
and DOC_NAME like (select distinct document_name from codes_document_names)
基本的に、file_place テーブルを見て、codes_document_names テーブルにある特定の ID を持つすべてのドキュメント名を見つけようとしています。
SELECT DOC_NAME
FROM FILE_PLACE
WHERE LINKED_ID = 140145
and DOC_NAME like (select distinct document_name from codes_document_names)
を使用したくない場合はLIKE
、次を使用できますIN
。
SELECT DOC_NAME
FROM FILE_PLACE
WHERE LINKED_ID = 140145
and DOC_NAME IN (select document_name
from codes_document_names)
デモで SQL Fiddle を参照してください
JOIN
の代わりにa も使用できるはずですIN
。
select DOC_NAME
from FILE_PLACE f
inner join codes_document_names d
on f.DOC_NAME = d.document_name
where LINKED_ID = 140145
デモで SQL Fiddle を参照してください
@Bluefeetがあなたの答えをわずかに改善し、
SELECT DOC_NAME
FROM FILE_PLACE
WHERE LINKED_ID = 140145
and lower(DOC_NAME) IN (select distinct
lower(document_name) from codes_document_names)