Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle SQL - Klauzula IN wyświetla wszystkie rekordy podane w warunku IN, nawet jeśli danych nie ma w tabeli

Potrzebujesz tabeli pochodnej zawierającej wszystkie możliwości. Albo masz taką, jak tabela miejska, a potem możesz zrobić:

SELECT t.customer_id,s.city
FROM city_table s
LEFT JOIN customer t
 ON(s.id = t.city) 
WHERE s.city IN ('abc', 'def', 'ghi')

Lub sam wygeneruj wartości:

SELECT t.customer_id,s.city
FROM (SELECT 'abc' as id FROM DUAL
      UNION ALL 
      SELECT 'def' FROM DUAL
      UNION ALL
      SELECT 'ghi' FROM DUAL) s
LEFT JOIN customer t
 ON(s.id = t.city) 
WHERE s.id IN('abc', 'def', 'ghi')



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak używać ograniczenia sprawdzania w Oracle

  2. Jak uzyskać wygenerowane klucze z wsadu wsadowego JDBC w Oracle?

  3. JCombobox nie jest wyświetlany

  4. Funkcja SYSDATE w Oracle

  5. tablicę lub listę do Oracle za pomocą cfprocparam