Bonjour.
J'ai une requête un peu compliquée, je souhaite faire une première requête qui me retourne des résultats, puis, selon ces résultats, y ajouter d'autres résultats.
Tout cela doit s'afficher dans un seul et unique gridview (pour conserver la largeur des colonnes et pouvoir trier les résultats, ...)
Je m'explique :
-- J'insère mes résultats dans ma table temporaire
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT * INTO #T FROM ( SELECT * FROM matable T2 WHERE -- mes conditions ) T2
-- Je lis tous les résultats de la table temporaire
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT * FROM #T
-- J'y ajoute d'autres résultats, en fonction des lignes de la table temporaire
Je précise que ma requête est construite dynamiquement dans le code C# de ma page ASP.net :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 UNION SELECT * FROM matable T2 WHERE T2.id in ( SELECT id FROM matable INNER JOIN #T ON #T.idarticle = matable.id )
Je sais faire ça via une procédure stockée mais ça ne m'arrange absolument pas. J'ai bien la piste d'un Dataset ou Datareader mais je ne suis pas sur.
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 string[] split = Txt_Recherche_modifie.Text.Split(new Char[] { ' ', ',', '.', ':', '\t' }); string marequete = "SELECT *"; marequete = marequete + " FROMmatable"; marequete = marequete + " WHERE MARQUE is not null"; foreach (string s in split) { if (s.Trim() != "") marequete = marequete + " AND (replace(modele,' ','') like '%" + s.Trim() + "%' OR marque like '%" + s.Trim() + "%')"; } marequete = marequete + " ORDER BY Marque, Modele"; if (Txt_Recherche.Text != "") { MonSQL.SelectCommand = marequete ; }
Pouvez-vous m'aider svp? Merciiii
Partager