SQL 当五个值的列表与五个列中的任何一个匹配时,查询 select 行

SQL Query to select row when list of five values get match with any of five coloumn

我有一个名为 Kits 的 table 名称,其中有 5 列用于 Book ISBN 。

我已经为此编写了 sql 查询,但即使存在匹配的任何单个值或多个值,我也会得到行输出,但它应该在所有值匹配时发出 put。 这是我的 sql 查询:

Select * 
  from kits k
  left 
  join kits_cstm kc
    on k.id = kc.id_c 
 where '8192933563' 
   and '8192933567' 
   and '8192933568' 
   and '8192933564' 
   and '7589765432' IN (kc.isbn_book_1_c,kc.isbn_book_2_c,kc.isbn_book_3_c,kc.isbn_book_4_c,kc.isbn_book_5_c) 
   and kc.city_c = 'BAN' 
   and kc.kit_for_c = 'SCHL' 
   and k.deleted = 0 
 ORDER 
    BY k.kit_id DESC 

像这样更改您的 where 条件:

WHERE 
(kc.isbn_book_1_c IN ('8192933563', '8192933567', '8192933568', '8192933564', '7589765432') AND
kc.isbn_book_2_c IN ('8192933563', '8192933567', '8192933568', '8192933564', '7589765432') AND
kc.isbn_book_3_c IN ('8192933563', '8192933567', '8192933568', '8192933564', '7589765432') AND
kc.isbn_book_4_c IN ('8192933563', '8192933567', '8192933568', '8192933564', '7589765432') AND
kc.isbn_book_5_c IN ('8192933563', '8192933567', '8192933568', '8192933564', '7589765432') )
AND ( kc.isbn_book_1_c != kc.isbn_book_2_c != kc.isbn_book_3_c != kc.isbn_book_4_c != kc.isbn_book_5_c ) 
AND sam_kits_cstm.city_c='BAN' 
AND sam_kits_cstm.kit_for_c='SCHL'
AND sam_kits.deleted=0