Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

kết nối cận âm 2 trên nhiều cột

Với SubSonic 2, bạn không thể.

Điều này cho biết, bạn có các lựa chọn thay thế sau:

Mở rộng SubSonic

Nếu bạn đã quen thuộc với SubSonic, bạn có thể cân nhắc thêm các phép nối nhiều cột vào chính SubSonic.

Sử dụng dạng xem, thủ tục được lưu trữ, hàm bảng

Nếu bạn không muốn gây rối với mã SubSonics, hãy sử dụng các dạng xem, thủ tục được lưu trữ và / hoặc các hàm bảng trong máy chủ sql. SubSonic giúp dễ dàng truy cập dữ liệu từ các chế độ xem và các thủ tục được lưu trữ.

Sử dụng InlineQuery

InlineQuery cho phép bạn thực thi bất kỳ sql nào - nếu đó là một tùy chọn để có sql trống trong mã của bạn.

Giải pháp xấu với InlineQuery

Nếu bạn thực sự muốn tạo truy vấn của mình với SubSonic, bạn có thể thử cách này:

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

Xây dựng câu lệnh SQL và thay thế tên tham số:

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

Sau đó, sử dụng s với một 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. Cột không xác định trong danh sách trường

  2. Máy chủ MYSQL đã biến mất

  3. mysql pivoting - làm cách nào để tôi có thể tìm nạp dữ liệu từ cùng một bảng vào các cột khác nhau?

  4. Làm thế nào để di chuyển các cột trong một bảng MySQL?

  5. Làm cách nào để trừ số giờ cho ngày giờ trong MySQL?