sql >> Database >  >> RDS >> Mysql

Doe wiskunde in MySQL vanuit SELECT

U kunt geen aliassen gebruiken die zijn gedefinieerd in de SELECT-component om andere kolommen te berekenen die zich ook in dezelfde SELECT-component bevinden. Je hebt ten minste drie opties:

  1. Herhaal de subquery elke keer dat u deze moet gebruiken. Dit heeft als nadeel dat je veel code moet herhalen. Aangezien uw subquery's lang en complex zijn, is dit een ongewenste optie.

  2. Gebruik een subquery en een outer query.

    SELECT
        *,
        (subtotal - payment) AS balance
    FROM
    (
         SELECT 
             ...,
             (...) AS subtotal,
             (...) AS payment
         FROM ... 
    ) T1
    
  3. Gebruik een JOIN in plaats van subselects. Dit is iets ingewikkelder voor uw situatie, maar het is beter voor de prestaties als u ooit meer dan één rij moet ophalen.



  1. Hoe kan ik een int casten naar een bit in MySQL 5.1?

  2. Afbeelding uploaden, ajax, php, mysql

  3. Dubbele invoer '0' voor sleutel 'PRIMARY'

  4. Wat is het LEN()-equivalent in MySQL?