Oracle

SQL查詢的問題

  • October 25, 2016

我有以下問題:我想要一個包含兩個不同術語(TERM)的特定文件(TITLE)作為輸出。例如一個童話故事的標題,其中包含兩個不同角色的名字。我有以下資料結構(粗體=表斜體=鍵):

文件文件 ID,標題)

文件術語文件 ID ->文件,文件中令牌的位置,術語,令牌,POS ID->POS)

POSPOS ID,低,高,描述,長描述,父 POS->POS)

我嘗試了以下解決方案,但沒有奏效。我希望有人能幫幫忙:

SELECT
   TITLE
FROM
   DOCUMENT
WHERE 
   DOCUMENT_ID
IN (
   SELECT
       DOCUMENT_ID
   FROM
       DOCUMENT_TERM
   WHERE
       (TERM = 'Term1') AND (TERM = 'Term2')
)

一個欄位永遠不能有 2 個不同的值。嘗試INTERSECT

SELECT TITLE
FROM   DOCUMENT
WHERE  DOCUMENT_ID IN
(SELECT DOCUMENT_ID FROM DOCUMENT_TERM WHERE TERM = 'Term1'
 INTERSECT
 SELECT DOCUMENT_ID FROM DOCUMENT_TERM WHERE TERM = 'Term2');

引用自:https://dba.stackexchange.com/questions/153255