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

Permintaan Django raw(), bidang terhitung dalam klausa WHERE

Ini sebenarnya tidak ada hubungannya dengan Django itu sendiri, tetapi dengan cara kerja MySQL.

Anda tidak dapat menggunakan alias dalam kondisi WHERE, karena evaluasi klausa WHERE mendahului evaluasi alias.

Anda dapat:

  • Ulangi klausa:

    Company.objects.raw('''SELECT *,core_location.a + core_location.b as dist
    FROM core_location,core_company
    WHERE (core_location.a + core_location.b)<10    
    ORDER BY dist''')
    
  • Lakukan subpilih:

    Company.objects.raw('''SELECT * FROM (
        SELECT *,core_location.a + core_location.b as dist
        FROM core_location,core_company            
    ) as subselect
    WHERE dist<10  
    ORDER BY dist''')
    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. NILAI UNSIGNED BIGINT DI luar jangkauan SQL Saya

  2. Pilih 10 baris pertama yang berbeda di mysql

  3. Skrip Bash untuk memasukkan nilai di MySQL

  4. MySQL pilih SUM hasil dengan LIMIT

  5. Bagaimana cara membuat tabel mysql dengan stempel waktu kolom default current_date?