Mega Code Archive

 
Categories / MySQL / Join
 

The summary is written to a temporary table, which then is joined to the cat_mailing table to produce the reco

rds that match those names mysql> CREATE TABLE cat_mailing     -> (     ->  last_name       CHAR(40) NOT NULL,     ->  first_name      CHAR(40) NOT NULL,     ->  street          CHAR(40) NOT NULL     -> ); Query OK, 0 rows affected (0.01 sec) mysql> mysql> INSERT INTO cat_mailing (first_name, last_name, street)     ->  VALUES     ->          ('Jim','Isaacson','515 Fordam St., Apt. 917'),     ->          ('Wallace','Baxter','57 3rd Ave.'),     ->          ('Taylor','McTavish','432 River Run'),     ->          ('Marlene','Pinter','9 Sunset Trail'),     ->          ('WALLACE','BAXTER','57 3rd Ave.'),     ->          ('Bartholomew','Brown','432 River Run'),     ->          ('Marlene','Pinter','9 Sunset Trail'),     ->          ('Wallace','Baxter','57 3rd Ave., Apt 102')     -> ; Query OK, 8 rows affected (0.00 sec) Records: 8  Duplicates: 0  Warnings: 0 mysql> mysql> SELECT * FROM cat_mailing; +-----------+-------------+--------------------------+ | last_name | first_name  | street                   | +-----------+-------------+--------------------------+ | Isaacson  | Jim         | 515 Fordam St., Apt. 917 | | Baxter    | Wallace     | 57 3rd Ave.              | | McTavish  | Taylor      | 432 River Run            | | Pinter    | Marlene     | 9 Sunset Trail           | | BAXTER    | WALLACE     | 57 3rd Ave.              | | Brown     | Bartholomew | 432 River Run            | | Pinter    | Marlene     | 9 Sunset Trail           | | Baxter    | Wallace     | 57 3rd Ave., Apt 102     | +-----------+-------------+--------------------------+ 8 rows in set (0.00 sec) mysql> mysql> mysql> CREATE TABLE tmp     -> SELECT COUNT(*) AS count, last_name, first_name     -> FROM cat_mailing GROUP BY last_name, first_name HAVING count > 1; Query OK, 2 rows affected (0.01 sec) Records: 2  Duplicates: 0  Warnings: 0 mysql> mysql> SELECT cat_mailing.*     -> FROM tmp, cat_mailing     -> WHERE tmp.last_name = cat_mailing.last_name     -> AND tmp.first_name = cat_mailing.first_name     -> ORDER BY last_name, first_name; +-----------+------------+----------------------+ | last_name | first_name | street               | +-----------+------------+----------------------+ | Baxter    | Wallace    | 57 3rd Ave., Apt 102 | | BAXTER    | WALLACE    | 57 3rd Ave.          | | Baxter    | Wallace    | 57 3rd Ave.          | | Pinter    | Marlene    | 9 Sunset Trail       | | Pinter    | Marlene    | 9 Sunset Trail       | +-----------+------------+----------------------+ 5 rows in set (0.00 sec) mysql> mysql> drop table cat_mailing; Query OK, 0 rows affected (0.00 sec) mysql> drop table tmp; Query OK, 0 rows affected (0.00 sec)