To select a single winner from each table and combine the results : Union « Select Clause « SQL / MySQL






To select a single winner from each table and combine the results

      
mysql>
mysql>
mysql> CREATE TABLE prospect
    -> (
    ->  fname   CHAR(40),
    ->  lname   CHAR(40),
    ->  addr    CHAR(40)
    -> );
Query OK, 0 rows affected (0.01 sec)

mysql>
mysql> CREATE TABLE customer
    -> (
    ->  last_name       CHAR(40),
    ->  first_name      CHAR(40),
    ->  address CHAR(40)
    -> );
Query OK, 0 rows affected (0.01 sec)

mysql>
mysql> CREATE TABLE vendor
    -> (
    ->  company CHAR(60),
    ->  street  CHAR(30)
    -> );
Query OK, 0 rows affected (0.01 sec)

mysql>
mysql> INSERT INTO prospect (fname, lname, addr)
    ->  VALUES
    ->          ('Peter','Jones','482 Main St., Apt. 402'),
    ->          ('Bernice','Smith','916 Maple Dr.')
    -> ;
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql>
mysql> INSERT INTO customer (first_name, last_name, address)
    ->  VALUES
    ->          ('Grace','Peterson','16055 First Ave.'),
    ->          ('Bernice','Smith','916 Maple Dr.'),
    ->          ('Walter','Brown','8602 1st St.')
    -> ;
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql>
mysql> INSERT INTO vendor (company, street)
    ->  VALUES
    ->          ('Database, Inc.','38 Third Ave.'),
    ->          ('Xml, Ltd.','213B Commerce Park.')
    -> ;
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql>
mysql>
mysql> (SELECT CONCAT(lname,', ',fname) AS name, addr
    -> FROM prospect ORDER BY RAND( ) LIMIT 1)
    -> UNION
    -> (SELECT CONCAT(last_name,', ',first_name), address
    -> FROM customer ORDER BY RAND( ) LIMIT 1)
    -> UNION
    -> (SELECT company, street
    -> FROM vendor ORDER BY RAND( ) LIMIT 1);
+---------------+------------------------+
| name          | addr                   |
+---------------+------------------------+
| Jones, Peter  | 482 Main St., Apt. 402 |
| Brown, Walter | 8602 1st St.           |
| Xml, Ltd.     | 213B Commerce Park.    |
+---------------+------------------------+
3 rows in set (0.00 sec)

mysql>
mysql> drop table prospect;
Query OK, 0 rows affected (0.00 sec)

mysql> drop table customer;
Query OK, 0 rows affected (0.00 sec)

mysql> drop table vendor;
Query OK, 0 rows affected (0.00 sec)

mysql>

   
    
    
    
    
    
  








Related examples in the same category

1.How many of those states joined the Union in the 19th century?
2.Count how many states joined the Union on each day of the week, grouped by day name, the results will be sorte
3.Which states joined the Union in the same year as New York?
4.To select all records, including duplicates, follow the first UNION keyword with ALL
5.Creating Unions That Join
6.Sort the result set in a specific order with Union.
7.Joining Results with UNION
8.The sorting is performed on the entire UNION. If you just want to sort the second SELECT, you'd need to use pa
9.UNION does not return duplicate results (similar to the DISTINCT keyword).
10.Union columns from different tables
11.Sort data then do the union (ERROR 1221 (HY000): Incorrect usage of UNION and ORDER BY)
12.Union with sorted data
13.Put branket for union
14.Union the same tables
15.Union start dates and end dates
16.Union the subquery
17.Alias the union tables in subquery
18.Union constant values
19.Union numbers
20.Union the result of sum() aggregate function
21.Limit then union
22.Union grouped value
23.Union all
24.Using Union for subquery
25.Union constant value
26.Insert with union result
27.Create view for union
28.Create view for union constants
29.Display all data in "ps_games", "xbox_games" and "cube_games" as a single result set
30.Selecting Records in Parallel from Multiple Tables