PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да направите PostgreSQL заявка с клауза where-in, която съдържа множество колони програмно?

Най-накрая намерих unnest може да помогне.

Чистият SQL е така:

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

Може лесно да го преобразува в 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

  2. в postgres select, връща подзаявка за колона като масив?

  3. Увеличете стойността на ID на таблица за всеки INSERT

  4. Премахване на роля с привилегии

  5. Как да получа общия брой таблици в postgresql?