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

Kolom 'Project2.Name' tidak diketahui di 'where clause'

Biarkan melihat. Anda memiliki kueri LINQ to Entities yang sangat valid, ini berfungsi dengan penyedia SqlServer dan tidak berfungsi dengan penyedia MySQL. Kedengarannya seperti bug penyedia MySQL bagi saya, apa lagi yang bisa terjadi? Tapi yang mana? Saya tidak melihat bagaimana itu membantu, tetapi bertaruh pada #78610 (diprakarsai oleh Migrasi ASP MVC MsSql ke MySQL SO post), ditandai sebagai duplikat dari #76663 . Atau #77543 dll.

Jadi konektor MySQL memiliki masalah dengan OrderBy dalam subquery. Sebagai solusinya, saya dapat menyarankan (bila memungkinkan) cara alternatif untuk menerapkan MaxBy , yaitu (dalam kode semu) alih-alih seq.OrderByDescending(col).FirstOrDefault() gunakan seq.FirstOrDefault(col == seq.Max(col)) pola yang berfungsi:

var Result = ctx.Items
    .Where(x => x.Contact.Country == Country)
    .GroupBy(p => p.Name)
    .Where(g => !g.Any(x => x.Value == "X"))
    .Select(g => g.FirstOrDefault(e => e.Date == g.Max(e1 => e1.Date)))
    .ToList();


  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 - indeks beberapa kolom

  2. Data Varchar menunjukkan hasil secara selektif

  3. Cadangkan pengguna MySQL

  4. Integrasi Hadoop dan MySQL

  5. Memanipulasi data utf8mb4 dari MySQL dengan PHP