sql >> Databasteknik >  >> RDS >> Mysql

Använd korrelerad underfråga över flera kolumner

Du kan använda en underfråga och gruppera data efter kampanj:

SELECT campaign,MAX(event_type) AS event_type,
CASE WHEN MAX(sub_event_date)>MAX(main_event_date) THEN MAX(sub_event_date) ELSE MAX(main_event_date) END  AS event_date,
CASE WHEN MAX(sub_event_date)>MAX(main_event_date) THEN MAX(sub_event_quantity) ELSE MAX(main_event_quantity) END AS event_quantity
FROM (
SELECT 
campaign,
event_type,
coalesce(date_offered, date_ordered) as main_event_date,
coalesce(date_delivered, date_recorded, date_completed) as sub_event_date,
coalesce(quantity_offered, quantity_ordered) as main_event_quantity,
coalesce(quantity_delivered, quantity_recorded, quantity_completed) as sub_event_quantity
FROM logistics lg) l
GROUP BY campaign


  1. PL/SQL:hur ber jag användarinmatning i en procedur?

  2. Försöker uppdatera posten med PDO

  3. konvertera Postgres geometriformat till WKT

  4. Lagra String Array i MySql via java?