Combine duas tabelas em uma nova para que as linhas selecionadas da outra sejam ignoradas

Eu tenho duas tabelas que possuem colunas idênticas. Eu gostaria de juntar essas duas tabelas em uma terceira que contém todas as linhas da primeira e da segunda todas as linhas que têm uma data que não existe na primeira tabela para a mesma localização.

Exemplo:

transações:

date    |location_code| product_code | quantity 
------------+------------------+--------------+----------
2013-01-20 | ABC         | 123          |  -20         
2013-01-23 | ABC         | 123          |  -13.158
2013-02-04 | BCD         | 234          |  -4.063

transações2:

date    |location_code| product_code | quantity 
------------+------------------+--------------+----------
 2013-01-20 | BDE         | 123          |  -30         
 2013-01-23 | DCF         | 123          |  -2
 2013-02-05 | UXJ         | 234          |  -6

Resultado desejado:

date    |location_code| product_code | quantity 
------------+------------------+--------------+----------
 2013-01-20 | ABC         | 123          |  -20         
 2013-01-23 | ABC         | 123          |  -13.158
 2013-01-23 | DCF         | 123          |  -2
 2013-02-04 | BCD         | 234          |  -4.063
 2013-02-05 | UXJ         | 234          |  -6

Como eu iria sobre isso? Eu tentei por exemplo isto:

SELECT date, location_code, product_code, type, quantity, location_type, updated_at
      ,period_start_date, period_end_date
   INTO transactions_combined
   FROM ( SELECT * FROM transactions_kitchen k
          UNION ALL
          SELECT *
            FROM transactions_admin h
            WHERE h.date NOT IN (SELECT k.date FROM k)
        ) AS t;

mas isso não leva em conta que eu gostaria de incluir as linhas que têm a mesma data, mas localização diferente. Eu tenho o Postgresql 9.2 em uso.

questionAnswers(2)

yourAnswerToTheQuestion