Apprendre une instruction sql update


La mise à JOUR de la phrase de Locaux SQL (SQL utilisé par le BDE) ne supporte pas les REJOINDRE...alors, comment vous mettez à jour une table avec des données provenant d'une autre table?

Voici comment faire:

& & & & & & - & & & & & & -

| Commandes.db | | Client.db |

& & & & & & - & & & & & & -

| CustNo| << & & & & -> | CustNo |

| ShipToAddr1 | | Addr1 |

| ShipToAddr2 | | Addr2 |

& & & & & & - & & & & & & -

en Supposant que nous avons voulu mettre à jour les champs ShipToAddr1 et ShipToAddr2 des Commandes.db tableau avec les valeurs des champs Addr1 et Addr2 respectivement à partir de la table Client.db, pour les enregistrements de Commandes ont à la fois des champs vides, et de joindre les tables par le champ CustNo présents dans les deux tableaux, peut-être qu'on serait tenté d'écrire:

mettre à JOUR les Commandes INNER JOIN Client

& ! & ! & ! & nbsp Client.CustNo = Commandes.CustNo

& nbsp & nbsp ENSEMBLE ShipToAddr1 = Addr1, ShipToAddr2 = Addr2

& nbsp & nbsp OÙ ShipToAddr1 = '' ET ShipToAddr2 = ''
Cependant, dans SQL Local (celui utilisé par le BDE), les jointures ne sont pas pris en charge dans l'instruction SQL UPDATE, et nous devons utiliser des sous-requêtes pour obtenir le résultat attendu:

mettre à JOUR les Commandes

& nbsp & nbsp ENSEMBLE ShipToAddr1 = (SELECT Addr1 DE Client OÙ

& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Client.CustNo = Commandes.CustNo),

& ! & ! & ! & ! & ! & nbsp ShipToAddr2 = (SELECT Addr2 DE client OÙ

& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Client.CustNo = Commandes.CustNo)

& nbsp & nbsp OÙ ShipToAddr1 = '' ET ShipToAddr2 = ''

Dans la partie 'instruction SQL UPDATE' sujet de la Locale de SQL Guide, vous pouvez trouver un exemple de 1 à plusieurs relations qui utilise le regroupement de sous-requêtes. & nbsp & nbsp & nbsp










Mettre a jour les tables avec les donnees d'autres tables sql locales


Apprendre une instruction sql update


La mise a JOUR de la phrase de Locaux SQL (SQL utilise par le BDE) ne supporte pas les REJOINDRE...alors, comment vous mettez a jour une table avec des donnees provenant d'une autre table?

Voici comment faire:

& & & & & & - & & & & & & -

| Commandes.db | | Client.db |

& & & & & & - & & & & & & -

| CustNo| << & & & & -> | CustNo |

| ShipToAddr1 | | Addr1 |

| ShipToAddr2 | | Addr2 |

& & & & & & - & & & & & & -

en Supposant que nous avons voulu mettre a jour les champs ShipToAddr1 et ShipToAddr2 des Commandes.db tableau avec les valeurs des champs Addr1 et Addr2 respectivement a partir de la table Client.db, pour les enregistrements de Commandes ont a la fois des champs vides, et de joindre les tables par le champ CustNo presents dans les deux tableaux, peut-etre qu'on serait tente d'ecrire:

mettre a JOUR les Commandes INNER JOIN Client

& ! & ! & ! & nbsp Client.CustNo = Commandes.CustNo

& nbsp & nbsp ENSEMBLE ShipToAddr1 = Addr1, ShipToAddr2 = Addr2

& nbsp & nbsp OU ShipToAddr1 = '' ET ShipToAddr2 = ''
Cependant, dans SQL Local (celui utilise par le BDE), les jointures ne sont pas pris en charge dans l'instruction SQL UPDATE, et nous devons utiliser des sous-requetes pour obtenir le resultat attendu:

mettre a JOUR les Commandes

& nbsp & nbsp ENSEMBLE ShipToAddr1 = (SELECT Addr1 DE Client OU

& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Client.CustNo = Commandes.CustNo),

& ! & ! & ! & ! & ! & nbsp ShipToAddr2 = (SELECT Addr2 DE client OU

& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp Client.CustNo = Commandes.CustNo)

& nbsp & nbsp OU ShipToAddr1 = '' ET ShipToAddr2 = ''

Dans la partie 'instruction SQL UPDATE' sujet de la Locale de SQL Guide, vous pouvez trouver un exemple de 1 a plusieurs relations qui utilise le regroupement de sous-requetes. & nbsp & nbsp & nbsp



Mettre à jour les tables avec les données d'autres tables sql locales

Apprendre une instruction sql update
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation