Affichage des articles dont le libellé est M$ SQL. Afficher tous les articles
Affichage des articles dont le libellé est M$ SQL. Afficher tous les articles

mardi 21 février 2012

Update SQL entre 2 tables

Update simple d'un champ :
UPDATE TABLE1 SET CHAMP2='XYZ' WHERE CHAMP1=1
Update de plusieurs champs entre plusieurs tables de la même base:

UPDATE TABLE2
SET TABLE2.CHAMPS1=TABLE1.CHAMPS1
      , TABLE2.CHAMPS3=TABLE1.CHAMPS3
FROM TABLE1, TABLE2
WHERE TABLE2.CHAMPS2=TABLE1.CHAMPS2
AND TABLE2.CHAMPS1 IS NULL

Ou alors en préfixant les tables : 
UPDATE B
SET B.CHAMPS1=A.CHAMPS1
FROM TABLE1 A, TABLE2 B
WHERE B.CHAMPS2=A.CHAMPS2
AND B.CHAMPS1 IS NULL

mercredi 10 juin 2009

Contrôle de doublons (M$ SQL)

Dans une base de données, il est possible de se retrouver avec plusieurs fois les mêmes données (qu'il s'agisse d'une erreur ou non)

Dans le cas que j'ai rencontré, nous n'arrivions pas à saisir une valeur, avec une contrainte sur 2 clefs :
TableTest
  • Champ1 -> Clef
  • Champ2 -> Clef
  • Champ3
  • Champ4

Pour contrôler où se trouvent les doublons, la requête à effectuer est :

SELECT COUNT(*), Champ1, Champ2
FROM TableTest
GROUP BY Champ1, Champ2
HAVING COUNT(*) > 1

Ce qui nous rendra comme résultat la liste des doublons.