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

Rób matematykę w MySQL z SELECT

Nie można używać aliasów zdefiniowanych w klauzuli SELECT do obliczania innych kolumn, które również znajdują się w tej samej klauzuli SELECT. Masz co najmniej trzy opcje:

  1. Powtórz podzapytanie za każdym razem, gdy musisz go użyć. Ma to tę wadę, że będziesz musiał powtórzyć dużo kodu. Ponieważ Twoje podzapytania są długie i złożone, jest to niepożądana opcja.

  2. Użyj podzapytania i zapytania zewnętrznego.

    SELECT
        *,
        (subtotal - payment) AS balance
    FROM
    (
         SELECT 
             ...,
             (...) AS subtotal,
             (...) AS payment
         FROM ... 
    ) T1
    
  3. Użyj JOIN zamiast podselekcji. Jest to nieco bardziej skomplikowane w Twojej sytuacji, ale będzie lepsze dla wydajności, jeśli kiedykolwiek będziesz musiał pobrać więcej niż jeden wiersz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wkładki wsadowe z PHP

  2. Łączenie się z Mysql za pomocą Slick 3.0 - Brak nazwy użytkownika, brak hasła i fałszywy sterownik nie oznacza błędu

  3. jQuery Autouzupełnianie Mysql PHP

  4. Django views.py Wersja SQL Join z Multi Table Query

  5. Jak dodać nową kolumnę do tabeli MYSQL?