Je cherche à mettre à jour un champ image d'une base par le même champ d'une
autre base pour une ligne d'enregistrement.
J'ai donc tapé :
UPDATE BASE1..T_IMAGE SET Image =
(select Image from BASE2..T_IMAGE A
WHERE A.IdImage = 156417)
WHERE BASE1..T_IMAGE.IdImage = 158008
Et j'obtiens un message qui me dit que le type de données est incorrect dans
la sous requête ou l'expression d'agrégation...
Alors qu'en tapant quelque chose comme ça :
INSERT INTO T_IMAGE2(IdP, ImageRank, ImageData)
SELECT top 10 (IdP, ImageRank, ImageData) FROM T_IMAGE
Tout se passe bien.
J'ai compulsé l'aide en ligne, sans toutefois tout comprendre (je ne
manipule jamais ce type de données d'habitude). Je sais toutefois que les
images en question sont stockées dans une seule ligne (apparemment cela a une
importance).
Quelqu'un peut-il m'expliquer cette énigme, ou la marche à suivre ? J'ai
tenté de passer par des variables, mais sans succès .
PS : Je sais que le stockage d'image dans une BDD plutôt qu'un référentiel
fichier est sujet à controverse, mais je ne peux pas me permettre d'altérer
la structure de la table, et la base est en cours d'exploitation.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilles LE BARBIER
Essaye ça !!
UPDATE BASE1..T_IMAGE SET Image = A.Image FROM BASE1..T_IMAGE orig LEFT OUTER JOIN BASE2..T_IMAGE A ON A.IdImage = 156417 WHERE orig.IdImage = 158008
non testé :-)
Gilles
"OokieDookie" a écrit dans le message de news:
Bonjour à tous,
Je cherche à mettre à jour un champ image d'une base par le même champ d'une autre base pour une ligne d'enregistrement.
J'ai donc tapé : UPDATE BASE1..T_IMAGE SET Image > (select Image from BASE2..T_IMAGE A WHERE A.IdImage = 156417) WHERE BASE1..T_IMAGE.IdImage = 158008
Et j'obtiens un message qui me dit que le type de données est incorrect dans la sous requête ou l'expression d'agrégation...
Alors qu'en tapant quelque chose comme ça : INSERT INTO T_IMAGE2(IdP, ImageRank, ImageData) SELECT top 10 (IdP, ImageRank, ImageData) FROM T_IMAGE
Tout se passe bien.
J'ai compulsé l'aide en ligne, sans toutefois tout comprendre (je ne manipule jamais ce type de données d'habitude). Je sais toutefois que les images en question sont stockées dans une seule ligne (apparemment cela a une importance).
Quelqu'un peut-il m'expliquer cette énigme, ou la marche à suivre ? J'ai tenté de passer par des variables, mais sans succès .
PS : Je sais que le stockage d'image dans une BDD plutôt qu'un référentiel fichier est sujet à controverse, mais je ne peux pas me permettre d'altérer la structure de la table, et la base est en cours d'exploitation.
Merci et bonne journée.
Essaye ça !!
UPDATE BASE1..T_IMAGE SET Image = A.Image
FROM BASE1..T_IMAGE orig
LEFT OUTER JOIN BASE2..T_IMAGE A ON A.IdImage = 156417
WHERE orig.IdImage = 158008
non testé :-)
Gilles
"OokieDookie" <sorrynospam@nowhere.com> a écrit dans le message de news:
037E1F9A-A79C-4AFB-8BF5-EB4C30EC5D18@microsoft.com...
Bonjour à tous,
Je cherche à mettre à jour un champ image d'une base par le même champ
d'une
autre base pour une ligne d'enregistrement.
J'ai donc tapé :
UPDATE BASE1..T_IMAGE SET Image > (select Image from BASE2..T_IMAGE A
WHERE A.IdImage = 156417)
WHERE BASE1..T_IMAGE.IdImage = 158008
Et j'obtiens un message qui me dit que le type de données est incorrect
dans
la sous requête ou l'expression d'agrégation...
Alors qu'en tapant quelque chose comme ça :
INSERT INTO T_IMAGE2(IdP, ImageRank, ImageData)
SELECT top 10 (IdP, ImageRank, ImageData) FROM T_IMAGE
Tout se passe bien.
J'ai compulsé l'aide en ligne, sans toutefois tout comprendre (je ne
manipule jamais ce type de données d'habitude). Je sais toutefois que les
images en question sont stockées dans une seule ligne (apparemment cela a
une
importance).
Quelqu'un peut-il m'expliquer cette énigme, ou la marche à suivre ? J'ai
tenté de passer par des variables, mais sans succès .
PS : Je sais que le stockage d'image dans une BDD plutôt qu'un référentiel
fichier est sujet à controverse, mais je ne peux pas me permettre
d'altérer
la structure de la table, et la base est en cours d'exploitation.
UPDATE BASE1..T_IMAGE SET Image = A.Image FROM BASE1..T_IMAGE orig LEFT OUTER JOIN BASE2..T_IMAGE A ON A.IdImage = 156417 WHERE orig.IdImage = 158008
non testé :-)
Gilles
"OokieDookie" a écrit dans le message de news:
Bonjour à tous,
Je cherche à mettre à jour un champ image d'une base par le même champ d'une autre base pour une ligne d'enregistrement.
J'ai donc tapé : UPDATE BASE1..T_IMAGE SET Image > (select Image from BASE2..T_IMAGE A WHERE A.IdImage = 156417) WHERE BASE1..T_IMAGE.IdImage = 158008
Et j'obtiens un message qui me dit que le type de données est incorrect dans la sous requête ou l'expression d'agrégation...
Alors qu'en tapant quelque chose comme ça : INSERT INTO T_IMAGE2(IdP, ImageRank, ImageData) SELECT top 10 (IdP, ImageRank, ImageData) FROM T_IMAGE
Tout se passe bien.
J'ai compulsé l'aide en ligne, sans toutefois tout comprendre (je ne manipule jamais ce type de données d'habitude). Je sais toutefois que les images en question sont stockées dans une seule ligne (apparemment cela a une importance).
Quelqu'un peut-il m'expliquer cette énigme, ou la marche à suivre ? J'ai tenté de passer par des variables, mais sans succès .
PS : Je sais que le stockage d'image dans une BDD plutôt qu'un référentiel fichier est sujet à controverse, mais je ne peux pas me permettre d'altérer la structure de la table, et la base est en cours d'exploitation.
Merci et bonne journée.
OokieDookie
Je ne savais pas qu'on pouvait détourner les jointures comme ça :)
Ca marche parfaitement bien, tout le monde a retrouvé ses petits. Merci énormément.
"Gilles LE BARBIER" a écrit :
Essaye ça !!
UPDATE BASE1..T_IMAGE SET Image = A.Image FROM BASE1..T_IMAGE orig LEFT OUTER JOIN BASE2..T_IMAGE A ON A.IdImage = 156417 WHERE orig.IdImage = 158008
non testé :-)
Gilles
"OokieDookie" a écrit dans le message de news:
> Bonjour à tous, > > Je cherche à mettre à jour un champ image d'une base par le même champ > d'une > autre base pour une ligne d'enregistrement. > > J'ai donc tapé : > UPDATE BASE1..T_IMAGE SET Image > > (select Image from BASE2..T_IMAGE A > WHERE A.IdImage = 156417) > WHERE BASE1..T_IMAGE.IdImage = 158008 > > Et j'obtiens un message qui me dit que le type de données est incorrect > dans > la sous requête ou l'expression d'agrégation... > > Alors qu'en tapant quelque chose comme ça : > INSERT INTO T_IMAGE2(IdP, ImageRank, ImageData) > SELECT top 10 (IdP, ImageRank, ImageData) FROM T_IMAGE > > Tout se passe bien. > > J'ai compulsé l'aide en ligne, sans toutefois tout comprendre (je ne > manipule jamais ce type de données d'habitude). Je sais toutefois que les > images en question sont stockées dans une seule ligne (apparemment cela a > une > importance). > > Quelqu'un peut-il m'expliquer cette énigme, ou la marche à suivre ? J'ai > tenté de passer par des variables, mais sans succès . > > PS : Je sais que le stockage d'image dans une BDD plutôt qu'un référentiel > fichier est sujet à controverse, mais je ne peux pas me permettre > d'altérer > la structure de la table, et la base est en cours d'exploitation. > > Merci et bonne journée. > >
Je ne savais pas qu'on pouvait détourner les jointures comme ça :)
Ca marche parfaitement bien, tout le monde a retrouvé ses petits.
Merci énormément.
"Gilles LE BARBIER" a écrit :
Essaye ça !!
UPDATE BASE1..T_IMAGE SET Image = A.Image
FROM BASE1..T_IMAGE orig
LEFT OUTER JOIN BASE2..T_IMAGE A ON A.IdImage = 156417
WHERE orig.IdImage = 158008
non testé :-)
Gilles
"OokieDookie" <sorrynospam@nowhere.com> a écrit dans le message de news:
037E1F9A-A79C-4AFB-8BF5-EB4C30EC5D18@microsoft.com...
> Bonjour à tous,
>
> Je cherche à mettre à jour un champ image d'une base par le même champ
> d'une
> autre base pour une ligne d'enregistrement.
>
> J'ai donc tapé :
> UPDATE BASE1..T_IMAGE SET Image > > (select Image from BASE2..T_IMAGE A
> WHERE A.IdImage = 156417)
> WHERE BASE1..T_IMAGE.IdImage = 158008
>
> Et j'obtiens un message qui me dit que le type de données est incorrect
> dans
> la sous requête ou l'expression d'agrégation...
>
> Alors qu'en tapant quelque chose comme ça :
> INSERT INTO T_IMAGE2(IdP, ImageRank, ImageData)
> SELECT top 10 (IdP, ImageRank, ImageData) FROM T_IMAGE
>
> Tout se passe bien.
>
> J'ai compulsé l'aide en ligne, sans toutefois tout comprendre (je ne
> manipule jamais ce type de données d'habitude). Je sais toutefois que les
> images en question sont stockées dans une seule ligne (apparemment cela a
> une
> importance).
>
> Quelqu'un peut-il m'expliquer cette énigme, ou la marche à suivre ? J'ai
> tenté de passer par des variables, mais sans succès .
>
> PS : Je sais que le stockage d'image dans une BDD plutôt qu'un référentiel
> fichier est sujet à controverse, mais je ne peux pas me permettre
> d'altérer
> la structure de la table, et la base est en cours d'exploitation.
>
> Merci et bonne journée.
>
>
Je ne savais pas qu'on pouvait détourner les jointures comme ça :)
Ca marche parfaitement bien, tout le monde a retrouvé ses petits. Merci énormément.
"Gilles LE BARBIER" a écrit :
Essaye ça !!
UPDATE BASE1..T_IMAGE SET Image = A.Image FROM BASE1..T_IMAGE orig LEFT OUTER JOIN BASE2..T_IMAGE A ON A.IdImage = 156417 WHERE orig.IdImage = 158008
non testé :-)
Gilles
"OokieDookie" a écrit dans le message de news:
> Bonjour à tous, > > Je cherche à mettre à jour un champ image d'une base par le même champ > d'une > autre base pour une ligne d'enregistrement. > > J'ai donc tapé : > UPDATE BASE1..T_IMAGE SET Image > > (select Image from BASE2..T_IMAGE A > WHERE A.IdImage = 156417) > WHERE BASE1..T_IMAGE.IdImage = 158008 > > Et j'obtiens un message qui me dit que le type de données est incorrect > dans > la sous requête ou l'expression d'agrégation... > > Alors qu'en tapant quelque chose comme ça : > INSERT INTO T_IMAGE2(IdP, ImageRank, ImageData) > SELECT top 10 (IdP, ImageRank, ImageData) FROM T_IMAGE > > Tout se passe bien. > > J'ai compulsé l'aide en ligne, sans toutefois tout comprendre (je ne > manipule jamais ce type de données d'habitude). Je sais toutefois que les > images en question sont stockées dans une seule ligne (apparemment cela a > une > importance). > > Quelqu'un peut-il m'expliquer cette énigme, ou la marche à suivre ? J'ai > tenté de passer par des variables, mais sans succès . > > PS : Je sais que le stockage d'image dans une BDD plutôt qu'un référentiel > fichier est sujet à controverse, mais je ne peux pas me permettre > d'altérer > la structure de la table, et la base est en cours d'exploitation. > > Merci et bonne journée. > >