PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak wykonać zapytanie PostgreSQL z klauzulą ​​where-in, która programowo zawiera wiele kolumn?

W końcu znalazłem unnest funkcja może pomóc.

Czysty SQL jest taki:

select * from plat_customs_complex
where (code_t,code_s) = ANY(select * from unnest(ARRAY['01013090','01029010'],ARRAY['10','90']))

Można go łatwo przekonwertować na kod C#:

string[] codeTs = new string[]{"01013090","01029010"}; 
string[] codeSs = new string[]{"10", "90"};
connection.Query("select * from plat_customs_complex
where (code_t,code_s) = ANY(select * from unnest(@CodeTs, @CodeSs))", 
new {CodeTs=codeTs, CodeSs=codeSs});



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres db design Normalizuj tabele lub używaj kolumn tablicy

  2. paginacja i filtrowanie na bardzo dużej tabeli w postgresql (paginacja zestawu kluczy?)

  3. Brak monitu o hasło dla superużytkownika postgresql

  4. Tworzenie indeksu Gin z Trigramem (gin_trgm_ops) w modelu Django

  5. unaccent() uniemożliwiający użycie indeksu w Postgres