MySQL newbie question

I have a dataflow I've built in Magic ETL, and I want to add a new column using a conditional statement to return the value from one of 3 existing columns (doing this in Beast Mode prevents me from getting the correct aggregations, so I'm trying to add in the dataflow itself).


So I want to have Invoice Sales returned if >0, if not then return j_quote_ if >0, if not then return WP Price.  The Magic ETL dataflow basically looks like this, and I want to add the column in bold:


Job No_1J_JOB_STATUSInvoice SalesWP PriceJ_QUOTE_Total Job
123456JOB INVOICED. INVOICE# 123456782992.53021.0202992.5
123457JOB ENTERED 3400340
123458JOB CARD PRINTED 619662406240


This is the syntax I have in MySql, but I'm a newbie at SQL, and I'm sure I'm missing something simple.  Any suggestions are welcome:








Best Answer

  • Valiant
    Valiant 🔵
    Answer ✓

    Here you go, this should do the trick.


    SELECT *,

       CASE WHEN `Invoice Sales` > 0 THEN `Invoice Sales`

                  WHEN `Invoice Sales` < 0 AND `J_QUOTE_` > 0 THEN `J_QUOTE_`

                  ELSE `WP Price`

       END AS 'Total Job'

    FROM sales_wp_quote_summarized_by_job





    **Please mark "Accept as Solution" if this post solves your problem
    **Say "Thanks" by clicking the "heart" in the post that helped you.