在表中搜索doc_names并与Codes Table进行比较?

时间:2012-12-24 14:25:26

标签: sql

基本上我正在尝试查看file_place表并查找在codes_document_names表中具有特定id的所有doc名称。

SELECT DOC_NAME 
FROM FILE_PLACE 
WHERE  LINKED_ID = 140145 
 and DOC_NAME like (select distinct document_name from codes_document_names)

2 个答案:

答案 0 :(得分:2)

您不想使用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 with Demo

您还应该能够使用JOIN代替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 with Demo

答案 1 :(得分:1)

@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)