簡體   English   中英

SQL INNER JOIN來自同一表的兩個值數組

[英]SQL INNER JOIN two arrays of values from the same table

我有一個簡化的查詢,我只需要獲取兩個數組的交集即可。 當有一個正交點時,我會得到預期的結果。 但是,如果沒有結果,我將從整個表中返回所有行,而不是預期的零行。

這是一個查詢,我按預期返回了一行:

SELECT ID FROM table_name WHERE ID IN (7188,2442,10350) AND ID IN (10350,6936)

如預期的那樣,它將返回ID為10350的一行。

但是,如果我嘗試此查詢:

SELECT ID FROM table_name WHERE ID IN (7188,2442) AND ID IN (10350,6936)

它返回整個表,而不是零行。

顯然,我的語法不正確,但是我不知道如何編寫適當的查詢來查找兩個數組的交集。 請問如何正確地寫出這樣的路口? 請注意,這只是一個表(而不是來自多個表的INNER JOIN)。 我必須使用多個數組作為要比較的集合。

我已經搜索了很長時間的SO和Google,但似乎什么都沒有。 似乎應該對此有一個簡單的答案。

我正在運行此查詢,並最終獲得空結果。 但是隨后我將結果立即發送到WordPress函數,如果您將空數組作為$ args中的值之一調用,該函數會返回所有行。

當我看到您的評論說該發現沒有被復制時,我意識到我需要進一步隔離問題。 因此,這些評論幫助我解決了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM