[fr-users] Re: [Base] formule SQL pour copie une colonne
Bonjour, Je réponds tardivement ayant été absent tout le week-end (avec ce beau soleil il aurait été dommage de s'enfermer). Donc la formule d'Yves fait un peu avancer le schmilblick, mais une erreur subsiste, incompréhensible (pour moi). la voici : 1: Unknown column 'tl_obs_communes.ref_obs' in 'where clause' / Le 01/10/2011 12:17, yves dutrieux a écrit :/ /Bonjour, / /Le 1 octobre 2011 02:48, Lucien RUBEMPRE antis...@sfr.fr mailto:antis...@sfr.fr a écrit : / /Merci Samuel, de prendre le temps de m'aider. J'avais effectivement commencé par une formule à base d'UPDATE que voici : UPDATE t_observations.ref_commune SET t_observations.ref_commune = tl_obs_communes.ref_commune WHERE t_observations.IDObs = tl_obs_communes.ref_obs / /UPDATE t_observations SET t_observations.ref_commune = tl_obs_communes.ref_commune WHERE t_observations.IDObs = tl_obs_communes.ref_obs devrais aller mieux. TU ne dois pas spécifier de champs, vu qu'il est mis derrière le SET, c'est le nom de la table uniquement. Yves/ -- To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help
[fr-users] Re: [Base] formule SQL pour copie une colonne
Le lundi 03 octobre 2011 13:29:15, Lucien RUBEMPRE a écrit : Bonjour, Je réponds tardivement ayant été absent tout le week-end (avec ce beau soleil il aurait été dommage de s'enfermer). Donc la formule d'Yves fait un peu avancer le schmilblick, mais une erreur subsiste, incompréhensible (pour moi). la voici : 1: Unknown column 'tl_obs_communes.ref_obs' in 'where clause' / Le 01/10/2011 12:17, yves dutrieux a écrit :/ /Bonjour, / /Le 1 octobre 2011 02:48, Lucien RUBEMPRE antis...@sfr.fr mailto:antis...@sfr.fr a écrit : / /Merci Samuel, de prendre le temps de m'aider. J'avais effectivement commencé par une formule à base d'UPDATE que voici : UPDATE t_observations.ref_commune SET t_observations.ref_commune = tl_obs_communes.ref_commune WHERE t_observations.IDObs = tl_obs_communes.ref_obs / /UPDATE t_observations SET t_observations.ref_commune = tl_obs_communes.ref_commune WHERE t_observations.IDObs = tl_obs_communes.ref_obs devrais aller mieux. TU ne dois pas spécifier de champs, vu qu'il est mis derrière le SET, c'est le nom de la table uniquement. Yves/ ce serait plus simple si tu donnais une description des deux tables : Dans le clien mysql : DESCRIBE matable; Gérard -- To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help
[fr-users] Re: [Base] formule SQL pour copie une colonne
/Le 03/10/2011 15:41, Landron Gérard a écrit :/ / / /ce serait plus simple si tu donnais une description des deux tables : Dans le clien mysql : DESCRIBE matable; Gérard --/ Pardon, mais je n'ai pas de client MySQL : j'utilise UwAmp (sur les conseils de François G., qui m'a un peu laissé tomber sur ce coup :-( ) avec LibreOffice Base. J'ignore ce que renvoie DESCRIBE, mais voici ce que j'obtiens avec MySQL Adminitrator : http://www.cijoint.fr/cjlink.php?file=cj201110/cijLFVQKaN.jpg et http://www.cijoint.fr/cjlink.php?file=cj201110/cij66DHZBn.jpg -- To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help
[fr-users] Re: [Base] formule SQL pour copie une colonne
Bonsoir, Le 3 octobre 2011 13:29, Lucien RUBEMPRE antis...@sfr.fr a écrit : Bonjour, Je réponds tardivement ayant été absent tout le week-end (avec ce beau soleil il aurait été dommage de s'enfermer). Donc la formule d'Yves fait un peu avancer le schmilblick, mais une erreur subsiste, incompréhensible (pour moi). la voici : 1: Unknown column 'tl_obs_communes.ref_obs' in 'where clause' Colonnes inconnue dans la clause where.(je pense que c'est parce que la table est pas connue car dans aucun from). et d'après la description fournie en image, je dirais que c'est tl_obs_communes.IDLObsCommunes au lieu de .ref_obs car il est de la même taille (smallint 10) En me basant sur une requête exemple trouvée sur le net, je dirais : *UPDATE t_observations SET t_observations.ref_commune = ( select tl_obs_communes.ref_commune from tl_obs_communes where t_observations.IDObs = tl_obs_communes.IDLObsCommunes) *Yves * Le 01/10/2011 12:17, yves dutrieux a écrit :* *Bonjour, * *Le 1 octobre 2011 02:48, Lucien RUBEMPRE antis...@sfr.fr a écrit : * * Merci Samuel, de prendre le temps de m'aider. J'avais effectivement commencé par une formule à base d'UPDATE que voici : UPDATE t_observations.ref_commune SET t_observations.ref_commune = tl_obs_communes.ref_commune WHERE t_observations.IDObs = tl_obs_communes.ref_obs * *UPDATE t_observations SET t_observations.ref_commune = tl_obs_communes.ref_commune WHERE t_observations.IDObs = tl_obs_communes.ref_obs devrais aller mieux. TU ne dois pas spécifier de champs, vu qu'il est mis derrière le SET, c'est le nom de la table uniquement. Yves* -- web site : http://www.molenbaix.com -- To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help
[fr-users] Re: [Base] formule SQL pour copie une colonne
Re, Le 3 octobre 2011 20:23, yves dutrieux ydutri...@gmail.com a écrit : Bonsoir, Le 3 octobre 2011 13:29, Lucien RUBEMPRE antis...@sfr.fr a écrit : Bonjour, Je réponds tardivement ayant été absent tout le week-end (avec ce beau soleil il aurait été dommage de s'enfermer). Donc la formule d'Yves fait un peu avancer le schmilblick, mais une erreur subsiste, incompréhensible (pour moi). la voici : 1: Unknown column 'tl_obs_communes.ref_obs' in 'where clause' Colonnes inconnue dans la clause where.(je pense que c'est parce que la table est pas connue car dans aucun from). et d'après la description fournie en image, je dirais que c'est tl_obs_communes.IDLObsCommunes au lieu de .ref_obs car il est de la même taille (smallint 10) En me basant sur une requête exemple trouvée sur le net, je dirais : *UPDATE t_observations SET t_observations.ref_commune = ( select tl_obs_communes.ref_commune from tl_obs_communes where t_observations.IDObs = tl_obs_communes.IDLObsCommunes) * J'allais oublier ... Si tu executes cette requête, elle remplace toutes les occurences avec celle trouvé dans la table tl_bos_communes ... si tu ne veux remplacer que les ref_commune de t_observations qui sont à rien par exemple, il faut rajouter à la fin de l'update : where t_observations.ref_commune = Dans cette idée, un backup de la table avant l'update est tjrs recommandé au cas où Yves * *Yves * Le 01/10/2011 12:17, yves dutrieux a écrit :* *Bonjour, * *Le 1 octobre 2011 02:48, Lucien RUBEMPRE antis...@sfr.fr a écrit : * * Merci Samuel, de prendre le temps de m'aider. J'avais effectivement commencé par une formule à base d'UPDATE que voici : UPDATE t_observations.ref_commune SET t_observations.ref_commune = tl_obs_communes.ref_commune WHERE t_observations.IDObs = tl_obs_communes.ref_obs * *UPDATE t_observations SET t_observations.ref_commune = tl_obs_communes.ref_commune WHERE t_observations.IDObs = tl_obs_communes.ref_obs devrais aller mieux. TU ne dois pas spécifier de champs, vu qu'il est mis derrière le SET, c'est le nom de la table uniquement. Yves* -- web site : http://www.molenbaix.com -- web site : http://www.molenbaix.com -- To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help
[fr-users] Re: [Base] formule SQL pour copie une colonne [résolu]
Bravo Yves, Tu m'as sauvé : ta formule a parfaitement fonctionné. Et du premier coup. Ce qui veut dire que les 10846 champs de la table cible ont été mis à jour dans l'ordre, en une petite seconde et sans bavure. Merci du fond du coeur (ça faisait un bon moment que je cherchais). Ouf :-) / Le 03/10/2011 20:30, yves dutrieux a écrit :/ /Re, / /Le 3 octobre 2011 20:23, yves dutrieux ydutri...@gmail.com mailto:ydutri...@gmail.com a écrit : / /Bonsoir, / / / /Colonnes inconnue dans la clause where.(je pense que c'est parce que la table est pas connue car dans aucun from). et d'après la description fournie en image, je dirais que c'est tl_obs_communes.IDLObsCommunes au lieu de .ref_obs car il est de la même taille (smallint 10) En me basant sur une requête exemple trouvée sur le net, je dirais : UPDATE t_observations SET t_observations.ref_commune = ( select tl_obs_communes.ref_commune from tl_obs_communes where t_observations.IDObs = tl_obs_communes.IDLObsCommunes) / / Yves / / / -- To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help
[fr-users] Re: [Base] formule SQL pour copie une colonne
Bonjour, Le 1 octobre 2011 02:48, Lucien RUBEMPRE antis...@sfr.fr a écrit : Merci Samuel, de prendre le temps de m'aider. J'avais effectivement commencé par une formule à base d'UPDATE que voici : UPDATE t_observations.ref_commune SET t_observations.ref_commune = tl_obs_communes.ref_commune WHERE t_observations.IDObs = tl_obs_communes.ref_obs UPDATE t_observations SET t_observations.ref_commune = tl_obs_communes.ref_commune WHERE t_observations.IDObs = tl_obs_communes.ref_obs devrais aller mieux. TU ne dois pas spécifier de champs, vu qu'il est mis derrière le SET, c'est le nom de la table uniquement. Yves hélas, Base répond : 1: Table 't_observations.ref_commune' doesn't exist J'ai donc essayé d'adapter ma formule : UPDATE t_observations (ref_commune) SET t_observations.ref_commune = tl_obs_communes.ref_commune WHERE t_observations.IDObs = tl_obs_communes.ref_obs Et là, j'obtiens : 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(ref_commune) SET t_observations.ref_commune = tl_obs_communes.ref_commune WHER' at line 1 J'avoue que ce n’est pas facile. *PS* : merci pour l'adresse de ce site à partir duquel j'avais bâti ma commande update. *Le 30/09/2011 15:56, Samuel Mounier (Liste CGO) a écrit :* *Le 29/09/2011 20:38, Lucien RUBEMPRE a écrit : * *Bonsoir, Y a-t-il une âme charitable pour m'aider à résoudre un petit problème de syntaxe ? J'ai une table où j'ai créé (parmi d'autres) une colonne ref_commune vide. Je souhaite la remplir avec les données contenues dans la colonne ref_commune d'une autre table. J'utilise la formule suivante : INSERT INTO t_observations (ref_commune) SELECT ref_commune FROM tl_obs_communes et je reçois le message d'erreur suivant : 1: Field 'DescriptionObs' doesn't have a default value Je ne comprends pas ce que vient faire là-dedans le champ DescriptionObs qui n'a rien à voir avec ma formule. * * Bonsoir Lucien, Travaillant plus sur un L4G, je ne suis pas un spécialiste du SQL mais je crois que le INSERT INTO ajoute des enregistrement contrairement au UPDATE qui lui met à jour un champ existant non (Hors c'est une simple update que tu me semble vouloir faire). Si tu ajoute un enregistrement (avec le INSERT INTO), les contraintes d'intégrité déclaré dans le schéma de ta base vont déclencher lors de la création d'un enregistrement des triggers du genre que tu rencontre. En clair pour ton cas dans le nouvel enregistrement que tu crée par le INSERT INTO, une valeur de 'DescriptionObs' qui n'a pas de valeur par défaut dans la description de ta table n'est pas renseigné dans la commande de création de l'enregistrement et donc l'enregistrement ne peut être créé. Tu trouvera des info sur le langage SQL en recherchant sur google. Avec syntax SQL de base je suis tombé sur ce site qui m'a l'aire pas mal. http://sql.1keydata.com/fr/sql-update.php Samuel -- * -- web site : http://www.molenbaix.com -- To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help
[fr-users] Re: [Base] formule SQL pour copie une colonne
Le 29/09/2011 20:38, Lucien RUBEMPRE a écrit : Bonsoir, Y a-t-il une âme charitable pour m'aider à résoudre un petit problème de syntaxe ? J'ai une table où j'ai créé (parmi d'autres) une colonne ref_commune vide. Je souhaite la remplir avec les données contenues dans la colonne ref_commune d'une autre table. J'utilise la formule suivante : INSERT INTO t_observations (ref_commune) SELECT ref_commune FROM tl_obs_communes et je reçois le message d'erreur suivant : 1: Field 'DescriptionObs' doesn't have a default value Je ne comprends pas ce que vient faire là-dedans le champ DescriptionObs qui n'a rien à voir avec ma formule. Bonsoir Lucien, Travaillant plus sur un L4G, je ne suis pas un spécialiste du SQL mais je crois que le INSERT INTO ajoute des enregistrement contrairement au UPDATE qui lui met à jour un champ existant non (Hors c'est une simple update que tu me semble vouloir faire). Si tu ajoute un enregistrement (avec le INSERT INTO), les contraintes d'intégrité déclaré dans le schéma de ta base vont déclencher lors de la création d'un enregistrement des triggers du genre que tu rencontre. En clair pour ton cas dans le nouvel enregistrement que tu crée par le INSERT INTO, une valeur de 'DescriptionObs' qui n'a pas de valeur par défaut dans la description de ta table n'est pas renseigné dans la commande de création de l'enregistrement et donc l'enregistrement ne peut être créé. Tu trouvera des info sur le langage SQL en recherchant sur google. Avec syntax SQL de base je suis tombé sur ce site qui m'a l'aire pas mal. http://sql.1keydata.com/fr/sql-update.php Samuel -- To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help
[fr-users] Re: [Base] formule SQL pour copie une colonne
Merci Samuel, de prendre le temps de m'aider. J'avais effectivement commencé par une formule à base d'UPDATE que voici : UPDATE t_observations.ref_commune SET t_observations.ref_commune = tl_obs_communes.ref_commune WHERE t_observations.IDObs = tl_obs_communes.ref_obs hélas, Base répond : 1: Table 't_observations.ref_commune' doesn't exist J'ai donc essayé d'adapter ma formule : UPDATE t_observations (ref_commune) SET t_observations.ref_commune = tl_obs_communes.ref_commune WHERE t_observations.IDObs = tl_obs_communes.ref_obs Et là, j'obtiens : 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(ref_commune) SET t_observations.ref_commune = tl_obs_communes.ref_commune WHER' at line 1 J'avoue que ce n'est pas facile. _PS_ : merci pour l'adresse de ce site à partir duquel j'avais bâti ma commande update. /Le 30/09/2011 15:56, Samuel Mounier (Liste CGO) a écrit :/ /Le 29/09/2011 20:38, Lucien RUBEMPRE a écrit : / /Bonsoir, Y a-t-il une âme charitable pour m'aider à résoudre un petit problème de syntaxe ? J'ai une table où j'ai créé (parmi d'autres) une colonne ref_commune vide. Je souhaite la remplir avec les données contenues dans la colonne ref_commune d'une autre table. J'utilise la formule suivante : INSERT INTO t_observations (ref_commune) SELECT ref_commune FROM tl_obs_communes et je reçois le message d'erreur suivant : 1: Field 'DescriptionObs' doesn't have a default value Je ne comprends pas ce que vient faire là-dedans le champ DescriptionObs qui n'a rien à voir avec ma formule. / / Bonsoir Lucien, Travaillant plus sur un L4G, je ne suis pas un spécialiste du SQL mais je crois que le INSERT INTO ajoute des enregistrement contrairement au UPDATE qui lui met à jour un champ existant non (Hors c'est une simple update que tu me semble vouloir faire). Si tu ajoute un enregistrement (avec le INSERT INTO), les contraintes d'intégrité déclaré dans le schéma de ta base vont déclencher lors de la création d'un enregistrement des triggers du genre que tu rencontre. En clair pour ton cas dans le nouvel enregistrement que tu crée par le INSERT INTO, une valeur de 'DescriptionObs' qui n'a pas de valeur par défaut dans la description de ta table n'est pas renseigné dans la commande de création de l'enregistrement et donc l'enregistrement ne peut être créé. Tu trouvera des info sur le langage SQL en recherchant sur google. Avec syntax SQL de base je suis tombé sur ce site qui m'a l'aire pas mal. http://sql.1keydata.com/fr/sql-update.php Samuel -- / -- To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org For additional commands, e-mail: sy...@fr.openoffice.org with Subject: help