begin process at 2012 05 27 04:40:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

MySQL

 > 

Requêtes

 > 

Requête utilisant un CONCAT dans le from


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Requête utilisant un CONCAT dans le from

dimanche 16 janvier 2011 à 13:24:24 | Requête utilisant un CONCAT dans le from

infkb

Bonjour,

je veux faire une requête sur la table test_21 tel que 21 et un id qu'on récupère d'une autre requête SQL puis je le concatène avec la chaîne de caractère "test".
Code :
 SELECT champ1, champ2
  FROM 
    (
      SELECT CONCAT('test_',entriesid) 
      FROM tabletest
      WHERE name = 'kb' 
      AND id = 3125
      )AS tbl;
      


Ou bien

Code :
 
 SELECT tbl.champ1, tbl.champ2
  FROM 
    (
      SELECT CONCAT('test_',entriesid) 
      FROM tabletest
      WHERE name = 'kb' 
      AND id = 3125
      )AS tbl;    
   


Les 2 cas cela ne marche pas or ca marche uniquement pour les opérations count(*)

Code :
 SELECT max(tbl.nr)
  FROM 
    (
      SELECT CONCAT('test_',entriesid) , count(*) AS nr
      FROM tabletest
      WHERE name = 'kb' 
      AND id = 3125
      )AS tbl;


Merci d'avance pour votre aide
mardi 18 janvier 2011 à 09:55:48 | Re : Requête utilisant un CONCAT dans le from

aieeeuuuuu

Bonjour

Tu ne peux pas faire ainsi !
Lorsque tu fais une sous requete, c'est le resultat de cette sous requete qui est "vu" comme une table (pseudo table) par la requete englobante.

donc ta troisième requete doit te donner le max des count(*) de la sous requete.

Hors, dans tes deux première requêtes, les sous requêtes ne renvoient qu'une seule colonne, et la requete englobante en cherche deux.

tu devras créer la requete dynamiquement, puis de l'exécuter.

Cependant, il est anormal que tu ais à faire ce genre de choses, et je pense que tu as un gros problème de modélisation.

Qu'as tu comme tables et que contiennent-elles ?
mardi 18 janvier 2011 à 11:40:14 | Re : Requête utilisant un CONCAT dans le from

infkb

Mercii aieeeuuuuu pour ta réponse mon souci exactement est que j'ai besoin de faire des curseurs dynamique utilisant cette requête :

Code :
 SELECT tbl.champ1, tbl.champ2 (A)
  FROM 
    (
      SELECT CONCAT('test_',entriesid) 
      FROM tabletest
      WHERE name = 'kb' 
      AND id = 3125
      )AS tbl;


Sachant que la sous requête génère comme résultat la chaine de caractère "test_15" qui est une table contenant les colonnes "champ1" et "champ2"

alors j'ai pu faire marché ma requête utilisant des variables ainsi:

Code :
select id into @val_id from tabletest where name='kb' and id=3125;

set @table_name := CONCAT('Test_' , @val_id);
select @table_name;
PREPARE rp FROM @table_name;
EXECUTE rp;


puis j'ai déclaré mon curseur :

Code :
DECLARE distinctCursor CURSOR for SELECT DISTINCT champ1, champ2 FROM @table_name;


et dans le corps je mets:

Code :
select id into @val_id from tabletest where name='kb' and id=3125;
set @table_name := CONCAT('Test_' , @val_id);


cela ne marche pas il me donne erreur dans la déclaration du curseur, pour cela je suis obligée de déclarer mon curseur utilisant la requête (A) la 1ere.

J'espère bien expliquer mon pb et merci pour tout aide d'avance



Cette discussion est classée dans : code, select, from, tbl, concat


Répondre à ce message

Sujets en rapport avec ce message

Besoin d'aide en SQL avec access [ par developvbdebut ] Bonjour tout le mondeon tape le nom recherché dans une zone de text. les noms et prenoms s'affiche dans une zone de liste (car plusieurs membres de la SubQuery et ou condition de jointure [ par Nicolas___ ] Bonjour, je suis étudiant en info et je dois repasser mon cours de SQL , j'ai donc une petite question à vous demandez (J'y ai déjà répondu, j'aimer Select * from * [ par ziffox ] Bonjour à tous, Je cherche a faire une requête qui parcourt toute la base, et qui m'affiche le nom de la table et du champ qui contient une valeur. Calcul de pourcentage. [ par AUZUR ] Bonjour à tous, voila, j'ai un problème avec une requète SQL, sur SQLServer. J'ai une table TabReg(NomRegion, CAreg, Population) avec laquelle, j'aim optimisation de la clause WHERE sur des champs dates [ par ThierH ] Bonjour j'ai une table SQL Server (2005) contenant plus de 50000 lignes. Dans chaque ligne, j'ai des données de type datetime, integer, ... Mon applic Utilisation de clause where stockée en DB [ par Badside ] Bonjour, J'aimerais récupérer la somme de plusieurs montants stockés dans une table et sélectionnés sur des critères repris dans une clause where sto provléme de recursivité [ par zwiki ] bonjour tout le monde j'ai un message d'erreur qui s'affiche avec cette requette "Syntaxe incorrecte vers le mot clé 'WITH'" malgré que j'ai bien suiv cryptage [ par senateur17 ] bonjour à tous, j'ai fait une requete comme celle-ci: SELECT TOOLKIT.DECRYPT(SELECT PASSWORD FROM UTILISATEUR WHERE USER_CODE='43') FROM DUAL . ça Optimisation d'une sous-requête SQL [ par Lugdunum2 ] Bonjour, Dans le cadre de l'optimisation des requêtes SQL d'un site web, je me retrouve avec une grande question dont je n'ai pas trouvé de réponse d Cette sous-requête peut retourner au plus un enregistrement [ par mariam1987 ] Salut à tous, Je débute en SQL et j'ai créé la requête : <p c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales