Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

subsonik 2 bergabung di beberapa kolom

Dengan SubSonic 2 di luar kotak, Anda tidak bisa.

Ini mengatakan, Anda memiliki alternatif berikut:

Perpanjang SubSonic

Jika Anda sudah terbiasa dengan SubSonic, Anda dapat mempertimbangkan untuk menambahkan gabungan multi-kolom ke SubSonic itu sendiri.

Gunakan tampilan, Prosedur tersimpan, fungsi tabel

Jika Anda tidak ingin mengacaukan kode SubSonics, gunakan tampilan, prosedur tersimpan, dan/atau fungsi tabel di dalam server sql. SubSonic memudahkan untuk mengakses data dari tampilan dan prosedur tersimpan.

Gunakan InlineQuery

InlineQuery memungkinkan Anda untuk mengeksekusi sql apa pun - jika ini merupakan opsi untuk memiliki sql kosong dalam kode Anda.

Solusi buruk dengan InlineQuery

Jika Anda benar-benar ingin membuat kueri dengan SubSonic, Anda dapat mencoba ini:

SqlQuery q = DB.Select()
  .From<TableA>()
  .CrossJoin<TableB>()
  .Where(TableA.YearColumn).IsEqualTo(0)
  .And(TableA.MonthColumn).IsEqualTo(0)
  .And(TableA.UseridColumn).IsEqualTo(0);

Buat pernyataan SQL, dan ganti nama parameter:

string s = q.BuildSqlStatement();
s = s.Replace(q.Constraints[0].ParameterName, TableB.YearColumn.QualifiedName);
s = s.Replace(q.Constraints[1].ParameterName, TableB.MonthColumn.QualifiedName);
s = s.Replace(q.Constraints[2].ParameterName, TableB.UserIdColumn.QualifiedName);

Kemudian gunakan s dengan InlineQuery.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Deklarasikan variabel pemicu MySQL

  2. Alat terbaik untuk menyinkronkan database MySQL

  3. Metode mana yang lebih baik untuk memvalidasi kredensial pengguna?

  4. Cetak data hierarkis dalam bentuk anak induk dari daftar tidak berurutan php?

  5. Mengambil data dengan struktur hierarki di MySQL