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

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Requêtes

 > 

Requête select une ligne sur deux


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

Requête select une ligne sur deux

samedi 11 avril 2009 à 16:39:32 | Requête select une ligne sur deux

Mayzz

Membre Club
Bonjour à tous,

Voila, je fais un site en ASP.NET et j'ai une requête spécifique à faire.
Je souhaiterai faire une requête select dans un dataset (TableAdapter) pour replir une datadable avec une ligne sur deux
C'est à dire que la table contiendra une ligne sur deux des données de la base (que les lignes paire ou impaire par ordre d'ajout dans la table) sachant que la base ne possède pas de N° de ligne, les données sont identifié par des GUID et je ne peu pas modifier celle-ci.

Si quelqu'un a une solution, ca serait sympa

Merci d'avance pour votre aide.
mardi 14 avril 2009 à 10:01:35 | Re : Requête select une ligne sur deux

aieeeuuuuu


Bonjour,

je ne comprend pas trop le principe, mais pourquoi ne pas simplement filtrer sur le GUID ? ne prendre que les ID paires ?
jeudi 16 avril 2009 à 11:15:04 | Re : Requête select une ligne sur deux

Mayzz

Membre Club

Le principe est simple je me suis peut être mal expliqué :

J'ai une table :

Ligne 1 = GUID, Nom, Ref...
Ligne 2 = GUID, Nom, Ref...
Ligne 3 = GUID, Nom, Ref...
Ligne 4 = GUID, Nom, Ref...
Ligne 5 = GUID, Nom, Ref...

Je voudrais avoir 2 tables qui ne contiennent :

Table 1 : 

Ligne 1 = GUID, Nom, Ref...
Ligne 3 = GUID, Nom, Ref...
Ligne 5 = GUID, Nom, Ref...

Tabe 2:

Ligne 2 = GUID, Nom, Ref...
Ligne 4 = GUID, Nom, Ref...

Pour le GUID il est généré de façon aléatoire, donc il m'est impossible de trouver les paires/impaires...

vendredi 17 avril 2009 à 10:16:35 | Re : Requête select une ligne sur deux

aieeeuuuuu

re,

sans connaitre le contexte, il y a des trucs qui m'échappent ?
pourquoi une ligne sur deux, et pas par exemple les 50% premières dans une table et le reste dans une autre ?
car visiblement, il n'y a pas d'ordre particulier a tes enregistrements. quand tu fais ton select, le serveur te renvoi les données a priori dans l'ordre dans lequel ils ont été enregistrés dans la base, mais si un jours tu met un index sur ces données, l'ordre dans lequel le serveur va te les renvoyer risque fort d'etre différent. et dans tout les cas, si tu ne fait pas un classement spécifique, rien ne peut te garantir l'ordre dans lequel les données sont renvoyées.

sinon, si tu n'as aucune colonne qui te permette d'identifier pour chaque ligne, sa table de destination, la seule solution que je vois ,c'est de passer par un curseur, et de repartir les données ligne par ligne.
mercredi 22 avril 2009 à 19:22:55 | Re : Requête select une ligne sur deux

Mayzz

Membre Club
pardon pour la réponse tardive...

Tu as raison aieeeuuuuu, en fait je me suis encore mal exprimé lol,
c'est une table de famille de produits pour un site commercial.

J'utilise une datalist pour présenter ces familles, mais je veux afficher 2 éléments par lignes.
Je crée donc deux datalist et deux datasources différentes, séparés par un tableau.

Un datalist de gauche pour afficher les éléments impaires et une de droite pour les éléments paires.

Voila une solution qui fonctionne que j'ai pu obtebir sur d'autres forums:

SELECT Family_ID, Family_Name, Family_Desc, Family_Image, Family_Color, Family_Exist, rk
FROM (SELECT Family_ID, Family_Name, Family_Desc, Family_Image, Family_Color, Family_Exist, ROW_NUMBER() OVER (ORDER BY Family_Name) AS rk FROM ITS_Familys AS a WHERE (Family_Exist = 'True')) AS t WHERE (rk % 2 = 0)

Donc tu avais raison mon ORDER BY c'est family_Name, il y a bien un classement par défaut.

Merci pour votre aide.

dimanche 26 avril 2009 à 21:21:27 | Re : Requête select une ligne sur deux

gperuch

Salut ,
Je connais pas trop ton programme et le but , mais je trouve cette derniere solution un peu dangereuse:
Le Row_number() numerote les lignes qui sortent et tu te base la dessus selon l'ordre de family_name.
Demain tu "insert" une nouvelle famille et tous les impaires passe en pair et vice versa.
Est ce un probleme pour ton programme???

SELECT Family_ID, Family_Name, Family_Desc, Family_Image, Family_Color, Family_Exist, rk
FROM (SELECT Family_ID, Family_Name, Family_Desc, Family_Image, Family_Color, Family_Exist, ROW_NUMBER() OVER (ORDER BY Family_Name) AS rk FROM ITS_Familys AS a WHERE (Family_Exist = 'True')) AS t WHERE (rk % 2 = 0)

greg


Cette discussion est classée dans : ligne, table, données, requête, select


Répondre à ce message

Sujets en rapport avec ce message

2 select dans une même requête [ par satsumy ] Bonjour,Voila j'ai une grosse requête à faire en fonction de plusieurs paramètres d'entrée.J'ai une table mission(idmission, date, heure, ...),une tab SELECTIONNER les 5 dernière ligne d'une table [ par nicomilville ] Salut,J'ai un problème avec une requête SQL :Comme indiqué dans le titre je veus selectionner seuleument les 5 derniere ligne mais dans l'ordre mais ç requête update avec select [ par bies ] Bonjour!!! besoin d'aide car çà fait des heures que je suis sur cette requête Au départ, j'ai ma table1 dont un extrait ci dessous. dans cette table, Requête avec UNION mais une seule ligne / groupe [ par tommy_red_card ] Je dois dans la même ligne avec un montant avec une restriction et le même sans restriction. J'ai une table avec les champs Type, Montant, semaine. Je Problème requête insert into avec select dans une autre table [ par francoissql ] Bonjour, Je cherche à copier des données d'une table vers une autre J'ai crée la requête suivante : insert into [SL_MUFIBUF-201001].[dbo].[KOSTKTR] retourner ligne colonnes dans 1 table : Pivot -> ne comprend pas comment faire [ par fratod01 ] Bonjour, j'ai une table sous SQL Serveur 2005 avec la forme suivante : ID | Date | A | B | C | D |... 1 |01/01/2010 | 1 | 2 | 9 | 4 | 2 Lenteur d'execution dans une requte [ par lidybekham07 ] bonsoir, mon problème est le suivant j'ai creé une requete qui calcule le chiffre d'affaire ht d'un client ainsi que son total TVA,Total Remise,,... Mettre à jour un table par rapport a une autre table [ par john44 ] Bonjour, J’ai créé une base de données (CalendarJVI.mdb) qui contient 2 tables : « CalendrierJVI » (table lié avec le calendrier d’Outlook) et « Cal probléme ma table sql n'enregistre pas les données!!! [ par flavien81 ] [b]Voici ma page de code html[/b] inscription Votre mail : Votre Nom : Votre Prénom SQL 2000 insertion [ par rikardo ] bonjour, je fais une insertion de masse avec une requete du type insert into TABLE1(CHAMP1,CHAMP2.) SELECT a.champ1,b.champ2 FROM ... cette requete


Nos sponsors


Sondage...

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 : 1,045 sec (4)

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