我有三种观点,reembolsos,tarjetas和no,pagos。我想将这些视图的值插入名为acciones的表中。
reembolsos\ u v的列如下:
hora reembolsos
00 2
02 13
03 39
tarjetas\u v的列如下:
hora tarjetas
00 6
02 12
03 42
no_pagos_v的列如下:
hora no_pagos
00 3
01 2
03 11
acciones表包含以下列:
hora pagocr pago no_pago
我想按以下方式将三个视图的列的值插入表acciones中:在表acciones的hora列中插入视图的horas列的值,在pagocr列中插入reembolsos列的值,在pago列中,我要插入tarjetas列的值,在acciones表的no\ pago列中,我要插入no\ pagos列的值。
我尝试了以下查询:
INSERT INTO acciones(hora,pagocr,pago,no_pago)
SELECT r.hora, r.reembolsos, t.tarjetas, n.no_pagos FROM
reembolsos_v AS r, tarjetas_v AS t, no_pagos_v AS n
此查询的结果如下:
hora pagocr pago no_pago
00 2 6 3
00 2 6 2
00 2 6 11
这不是正确的结果。正确的结果如下:
hora pagocr pago no_pago
00 2 6 3
02 13 12 null
03 49 32 11
我怎样才能得到正确的结果?
谢谢
1条答案
按热度按时间nmpmafwu1#
如问题中所示的查询执行catersian乘积,即一个表中的每一行都与其他表中的所有其他行联接。然而
full join
在这种情况下需要。