1

Table1:

+-----------+----------+------------+
| FirstName | LastName | Qty        |
+-----------+----------+------------+
| Tia       | Carrera  | 10         |
| Nikki     | Taylor   | 20         |
| Yamila    | Diaz     | 30         |
+-----------+----------+------------+

Table2:

+-----------+----------+------------+
| FirstName | LastName | Qty        |
+-----------+----------+------------+
| Tia       | Carrera  |  5         |
| Nikki     | Taylor   |  8         |
+-----------+----------+------------+

Example output for rows in Table

+-----------+----------+------------+
| FirstName | LastName | Qty        |
+-----------+----------+------------+
| Tia       | Carrera  | 5          |
| Nikki     | Taylor   | 8          |
| Yamila    | Diaz     | 30         |
+-----------+----------+------------+
Dharman
  • 30,962
  • 25
  • 85
  • 135
chandana
  • 139
  • 8
  • 1
    Possible duplicate of [sql join two table](http://stackoverflow.com/questions/9171963/sql-join-two-table) – i am me Dec 14 '15 at 07:55

2 Answers2

3

You should create new column and define PK and FK using different columns than FirstName and LastName. But with current structures you can use LEFT JOIN and COALESCE:

SELECT t1.FirstName, t1.LastName, COALESCE(t2.Qty, t1.Qty) AS Qty
FROM table1 t1
LEFT JOIN table2 t2
  ON t1.FirstName = t2.FirstName
 AND t1.LastName = t2.LastName;

SqlFiddleDemo

Output:

╔════════════╦═══════════╦═════╗
║ FirstName  ║ LastName  ║ Qty ║
╠════════════╬═══════════╬═════╣
║ Nikki      ║ Taylor    ║   8 ║
║ Tia        ║ Carrera   ║   5 ║
║ Yamila     ║ Diaz      ║  30 ║
╚════════════╩═══════════╩═════╝
Lukasz Szozda
  • 162,964
  • 23
  • 234
  • 275
0

may be helpful

SELECT * FROM Table2
UNION ALL
SELECT * FROM Table1
    WHERE FirstName NOT IN(SELECT FirstName FROM Table2) AND 
          LastName  NOT IN(SELECT LastName FROM Table2)
Farrokh
  • 1,167
  • 1
  • 7
  • 18