Update table SQL

Résolu/Fermé
Katerina85_55 Messages postés 23 Date d'inscription lundi 19 février 2018 Statut Membre Dernière intervention 16 mars 2018 - Modifié le 16 mars 2018 à 10:34
Katerina85_55 Messages postés 23 Date d'inscription lundi 19 février 2018 Statut Membre Dernière intervention 16 mars 2018 - 16 mars 2018 à 14:22
Bonjour,

J'aimerais utiliser une fonction UPDATE dans ma requête et je n'arrive pas à composer un bon code :-(
J'ai deux tables: une (data0189) définit le code TVA (4 lignes en total), l'autre (data0012) liste tous les clients

data0189                 
RKEY STATE_TAX
1 TVA_A
2 TVA_B
3 TVA_C
4 TVA_D

data0012
RKEY CLIENT
1 Snikers
2 Mars
3 Twix

Je lie ces deux tables par la jointure:
INNER JOIN
DATA0012
ON DATA0189.RKEY=DATA0012.SHIP_CTAX_PTR 

ce qui me donne
RKEY (data0012)  CLIENT  RKEY(data0189) STATE_TAX
1 Snikers 3 TVA_C
2 Mars 4 TVA_D
3 Twix 1 TVA_A

J'aimerais appliquer TVA_A à tous les clients via une fonctions UPDATE. Qqun a une idée svp? J'utilise Microsoft SQL Server Management Studio

Merci d'avance!
A voir également:

1 réponse

diablo13800 Messages postés 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024 1 854
16 mars 2018 à 10:36
Bonjour,

En gros vous voulez que tous vos client ai la même TVA?
Begin trans 
Update *Nom de la table Client* set *Nom de la colonne TVA* = 1

//Commit en Cas de réussite
//Rollback en cas d'échec


Dites moi si c'est bien ce que vous voulez ( je vous aurez bien aidé avec les tables exact... mais vu leur nom et le nom des colonnes... je m'y risque pas...

Cdlt
0
Katerina85_55 Messages postés 23 Date d'inscription lundi 19 février 2018 Statut Membre Dernière intervention 16 mars 2018
16 mars 2018 à 10:40
Bonjour diablo13800 !

Quelle rapidité! :-)

Dans ce cas j'aimerais que tous mes clients ont le même TVA, mais ne réalité je vais choisir quel client doit avoir quel TVA (ça représente un peu près 50/50 de TVA différent)
0
Katerina85_55 Messages postés 23 Date d'inscription lundi 19 février 2018 Statut Membre Dernière intervention 16 mars 2018
16 mars 2018 à 10:44
Pour être plus précis, j'ai un ERP qui contient la fiche Client (table 1: data0012). cette fiche client contient plusieurs onglets à remplir. Chaque onglet représente une table différente (laquelle je lie avec une table 1 pour obtenir un résultat complet sur le client). C'est le cas avec TVA (table 2: data0189).
0
Katerina85_55 Messages postés 23 Date d'inscription lundi 19 février 2018 Statut Membre Dernière intervention 16 mars 2018
16 mars 2018 à 11:09
En gros, j'essaie d'utiliser qqch comme ça pour dire que le client 1 doit avoir TVA_A, mais cela ne fonctionne pas, Microsoft me donne une erreur "Incorrect syntax near the keyword INNER"

UPDATE DATA0189
INNER JOIN DATA0012 ON DATA0189.RKEY=DATA0012.SHIP_CTAX_PTR
WHERE DATA0012.RKEY=1
0
diablo13800 Messages postés 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024 1 854
Modifié le 16 mars 2018 à 11:16
Bonjour,

Concernant l'erreur c'est logique... Déja vous avez pas forcément besoin du Inner Join ( Vous modifier qu'une table après tout...
Et vous ne précisez pas la valeur a donné...

Where donne une condition vous vous voulez définir une valeur

ce serait plutot comme ceci
UPDATE DATA0189
SET Key_Tax=1
WHERE DATA0012.RKEY=1

Dans le Where mettez les identifiants des personnes dont vous voulez changer la taxe
UPDATE DATA0189
SET Key_Tax=1
WHERE DATA0012.RKEY in (1,2,5,4,7,8,9)

La il fera un update sur 7 Client ( défini par leur RKEY)
0
Katerina85_55 Messages postés 23 Date d'inscription lundi 19 février 2018 Statut Membre Dernière intervention 16 mars 2018
16 mars 2018 à 11:28
Je viens de tester votre propposition:
UPDATE DATA0189
SET Key_Tax=1
WHERE DATA0012.RKEY=1

Cela ne fonctionne pas :-(
Erreur "The multi-part identifier "DATA0012.RKEY" could not be bound."
0