Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie Django, w którym jedno pole jest zduplikowane, a drugie jest inne

Tutaj możesz pracować z podzapytaniem, ale myślę, że nie będzie to miało większego znaczenia pod względem wydajności:

from django.db.models import Exists, OuterRef, Q

UserNames.objects.filter(
    Exists(UserNames.objects.filter(
        ~Q(user_id=OuterRef('user_id')),
        first_name=OuterRef('first_name')
    ))
)

lub przed :

from django.db.models import Exists, OuterRef, Q

UserNames.objects.annotate(
    has_other=Exists(UserNames.objects.filter(
        ~Q(user_id=OuterRef('user_id')),
        first_name=OuterRef('first_name')
    ))
).filter(has_other=True)

W ten sposób zachowujemy UserNames obiekty, dla których istnieje UserNames obiekt o tym samym first_name i z innym user_id .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Optymalizacja zapytania MySQL pod kątem wyszukiwania w zakresie liczb całkowitych

  2. Jak mogę napisać wyszukiwanie MySQL, które może zrekompensować błędnie napisane dane?

  3. Laravel 5.1 — Sprawdzanie połączenia z bazą danych

  4. System głosowania przy użyciu PHP+MySql?

  5. Instalując magento, pojawia się błąd połączenia z bazą danych.