sql >> Databasteknik >  >> RDS >> Mysql

mysql underfråga i en LEFT JOIN

Det ska vara så här, du måste ha en separat fråga för att få det maximala datumet (eller det senaste datumet) då e-postmeddelandet skickades.

SELECT  a.*, b.*
FROM    tbl_customers a
            INNER JOIN tbl_emails_sent b
                ON a.customerid = b.customerid
            INNER JOIN
            (
                SELECT      customerid, MAX(datesent) maxSent
                FROM        tbl_emails_sent
                GROUP BY    customerid
            ) c ON  c.customerid = b.customerid AND
                    c.maxSent = b.datesent


  1. Vilken är den bästa sökalgoritmen för PHP och MYSQL?

  2. Varför är MySQL InnoDB-insättning så långsam?

  3. Avmystifierar CXPACKET- och CXCONSUMER-vänttyper i SQL Server

  4. Hur lagrar man katalog/hierarki/trädstruktur i databasen?