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

дозвуково 2 присъединяване на множество колони

С SubSonic 2 от кутията не можете.

Това каза, че имате следните алтернативи:

Разширете SubSonic

Ако вече сте запознати с SubSonic, може да помислите да добавите свързвания с няколко колони към самия SubSonic.

Използвайте изгледи, съхранени процедури, таблични функции

Ако не искате да се забърквате с кода на SubSonics, използвайте изгледи, съхранени процедури и/или таблични функции в sql сървъра. SubSonic улеснява достъпа до данни от изгледи и съхранени процедури.

Използвайте InlineQuery

InlineQuery ви позволява да изпълнявате произволен sql - ако е опция да имате гол sql във вашия код.

Грозно решение с InlineQuery

Ако абсолютно искате да създадете своята заявка с SubSonic, можете да опитате това:

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

Създайте SQL израза и заменете имената на параметрите:

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);

След това използвайте s с 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. Как да се справим с MySQL сървърът работи с опцията --secure-file-priv, така че не може да изпълни това изявление на Mac

  2. MySQL - Вземете брояч за всяка дублирана стойност

  3. Как да прехвърля char към цяло число, докато отправям заявка в django ORM?

  4. Ръководство за проектиране на база данни за управление на блогове в MySQL

  5. Как да извадя часовете от дата и час в MySQL?