2017-10-08 26 views
1

Je veux insérer des valeurs dans la colonne de ma première table "p_edw_tmp.TK_NPS_subdate", et ces valeurs doivent avoir le même identifiant (subs_id = subs_id), mais ma requête insère des nulls ici ma demande et le résultat que je reçoisInserto dans ... sélectionnez

INSERT INTO p_edw_tmp.TK_NPS_subdate (activationDate) 

SELECT b.activation_date 
FROM P_EDW_BO_UNIVERSE.DW_SUBNOS b 
WHERE p_edw_tmp.TK_NPS_subdate.subs_id=b.subs_id 

résultat

survey   subno subs_id  activationdate 
date 
NULL   NULL NULL  28/03/2013 
NULL   NULL NULL  14/09/2017 
NULL   NULL NULL  11/02/2006 
NULL   NULL NULL  07/02/2007 
NULL   NULL NULL  20/04/2011 
01/07/2015 770611368 60 584 365 NULL 
01/07/2015 772682168 3 541 647 NULL 
01/07/2015 770827778 6 616 NULL 
01/07/2015 774614365 34 444 141 NULL 
01/07/2015 796997578 73 457 413 NULL 

je veux obtenir le résultat comme celui-ci

01/07/2015 770611368 60 584 365 07/02/2007 
01/07/2015 772682168 3 541 647 20/04/2011 
+1

voulez-vous utiliser 'update'? – GurV

+0

Je ne comprends rien à votre question. S'il vous plaît reformulez ce –

Répondre

2

On dirait que vous souhaitez mettre à jour les données existantes:

UPDATE p_edw_tmp.TK_NPS_subdate 
FROM 
(SELECT subs_id, activation_date 
    FROM P_EDW_BO_UNIVERSE.DW_SUBNOS 
) AS b 
SET activationDate = src.activationDate 
WHERE p_edw_tmp.TK_NPS_subdate.subs_id=b.subs_id 
+0

src se référer b, je vous remercie de ce travail –

+0

MISE À JOUR DE p_edw_tmp.TK_NPS_subdate (SELECT subs_id, activation_date DE P_EDW_BO_UNIVERSE.DW_SUBNOS ) AS b SET activationDate = b.activation_date OÙ p_edw_tmp.TK_NPS_subdate.subs_id = b .subs_id –

1

C'est parce que vous sélectionnez uniquement la colonne b.activation_date et en spécifiant le nom de la colonne (activationDate) et en l'insérant dans cette colonne uniquement.

Vous devez spécifier les noms de colonnes que vous souhaitez insérer dans l'insertion et les sélectionner. Ainsi, vous pouvez changer votre requête à quelque chose comme:

INSERT INTO p_edw_tmp.TK_NPS_subdate (survey,subno,subs_id,activationdate) 

SELECT b.survey,b.subno,b.subs_id,b.activation_date 
FROM P_EDW_BO_UNIVERSE.DW_SUBNOS b 
WHERE p_edw_tmp.TK_NPS_subdate.subs_id=b.subs_id