begin process at 2010 02 10 08:34:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive SQL

 > 

Archives

 > 

Problème avec une requête

 > 

Requete sur un AGREGAT


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

Requete sur un AGREGAT

jeudi 26 mai 2005 à 12:42:55 | Requete sur un AGREGAT

cyberice67

Bonjour,

Voilà j'ai un big problème sur une requete SQL.
J'ai une base de donnée SQL Server est j'essaie de créer une requete portant sur un agregat. Voici le code SQL générant la base :




if exists (select * from dbo.sysobjects where id = object_id (N'[dbo].[Peche]') and OBJECTPROPERTY(id,N'isusertable')= 1)
 Drop table [dbo].[Peche]
go


if exists (select * from dbo.sysobjects where id = object_id (N'[dbo].[Poste]') and OBJECTPROPERTY(id,N'isusertable')= 1)
 Drop table [dbo].[Poste]
go

if exists (select * from dbo.sysobjects where id = object_id (N'[dbo].[Personne]') and OBJECTPROPERTY(id,N'isusertable')= 1)
 Drop table [dbo].[Personne]
go

if exists (select * from dbo.sysobjects where id = object_id (N'[dbo].[Datee]') and OBJECTPROPERTY(id,N'isusertable')= 1)
 Drop table [dbo].[Datee]
go


create table Personne
(    IdPers    int           not null,
    NomPers   varchar(20)   null,
    PrenomPers Varchar(20)  null,
    AdressePers Varchar(50) null,
    VillePers   Varchar(20) null,
    TelPers     varchar(10)  null,
constraint PK_IdPers primary key(IdPers)
)

create table Datee
(    DatePeche   datetime    not null
constraint PK_DatePeche primary key(DatePeche)
)



create table Poste
(       NumPoste  Varchar(2)    not null,
    LibPoste varchar(20) null,
constraint PK_NumPoste primary key(NumPoste)

)



create table Peche
(    DatePeche  datetime  not null,
    IdPers     int       not null,
    NumPoste   Varchar(2)null

constraint PK_Peche primary key(DatePeche,IdPers),
constraint FK_DatePeche foreign key(DatePeche)
    references datee(DatePeche),
constraint FK_IdPers foreign key(IdPers)
    references Personne(IdPers),
constraint FK_NumPoste foreign key(NumPoste)
    references poste(NumPoste)

)


insert into Personne values ('1','SCHOEFFTER','Christophe','7 Rue des Pecheurs','SOUFFLENHEIM','0666289269')
insert into Personne values ('2','GRAFF','Laure','5 Rue des Menuisiers','HAGUENAU','0675463894')
insert into Personne values ('3','HUSSER','Francois','14 Rue du Chêne','STRASBOURG','0674563892')
insert into Personne values ('4','ERNEWEIN','Christian','225 Rue du Hêtre','WISSEMBOURG','0673458976')
insert into Personne values ('5','BACHELET','Pierre','15 Rue du Corail','SELESTAT','0623749167')
insert into Personne values ('6','SALVADOR','Henry','18 Rue St Honoré','GRESSWILLER','0645983726')
insert into Personne values ('7','SALVADOR','Henry','18 Rue St Honoré','GRESSWILLER','0655667455')
insert into Personne values ('8','SALVADOR','Henry','18 Rue St Honoré','GRESSWILLER','0645362782')
insert into Personne values ('9','SALVADOR','Henry','18 Rue St Honoré','GRESSWILLER','0674839767')
insert into Personne values ('10','SALVADOR','Henry','18 Rue St Honoré','GRESSWILLER','0688798890')
insert into Personne values ('11','SALVADOR','Henry','18 Rue St Honoré','GRESSWILLER','0634526718')
insert into Datee values ('12/01/2005')
insert into Datee values ('14/01/2005')
insert into Datee values ('04/01/2005')
insert into Poste values ('A1','Pont et chaussés')
insert into Poste values ('B2','Petit haut fond')
insert into Poste values ('C3','Haud fond Sessenheim')
insert into Poste values ('D4','Arbre Sessenheim')
insert into Peche values ('12/01/2005','1','A1')







alors ce que j'essaie d'obtenir c'est (par exemple) :

A1      Pierre      Mathieu     12 rue de fleurs      12/01/2005
B2       null          null             null                        12/01/2005
C3      Simon      Mathieu     14 rue du hetre      12/01/2005
D4       null         null              null                       12/01/2005


Comme vous le voyez le resultat correspont à :
Afficher TOUT les postes et, s'il elle existe, la personne qui l'occupe, pour la journée du 12/01/2005


Bon planchage

MERCI A CEUX QUI CHERCHERONT !!!!

Cyberice
jeudi 26 mai 2005 à 14:08:40 | Re : Requete sur un AGREGAT

elias_elias

Réponse acceptée !

a partir des données inséré , tu ne peux pas obtenir les résultat  attendu
regarde bien ce que tu insert , est ce que veux avoir  ?????
par contre je te propose cette requette

select *                     -- tu précise les champs que tu veux avoir 
from poste Ps
left join Peche Pc
on ps.NumPoste= pc.NumPoste and  DatePeche  =' votre date'
left join Personne Pr
on pc.IdPers =  pr.IdPers 

je ne l'ai pas tester car ca me prend beaucoup de temps , mais normalement , elle marche ou au mons l'idée est là.

 bon courage

jeudi 26 mai 2005 à 14:37:51 | Re : Requete sur un AGREGAT

cyberice67

Alors là chapeau Elias, tu me scie !!

ta requete marche super, j'vais enfin pouvoir continuer mon AP !!
Bravo !!

solution :

select datepeche,personne.idpers,poste.numposte, nompers 
from poste
left join Peche
on poste.NumPoste= peche.NumPoste
and  DatePeche  = '12/01/2005'
left join Personne
on peche.IdPers =  personne.IdPers




Cyberice
jeudi 26 mai 2005 à 16:41:56 | Re : Requete sur un AGREGAT

elias_elias

c'est tant mieux
Cyberice


Cette discussion est classée dans : insert, into, values, rue, dbo


Répondre à ce message

Sujets en rapport avec ce message

Probleme d'integrité dans une stored avec transaction [ par issoux ] Conflit entre l'instruction INSERT et la contrainte COLUMN FOREIGN KEYVoilà mon erreur : j'ai une transaction que voici (sous sql server 2000) :CREATE violation de contraintes unique [ par dark_cross ] CREATE TABLE appareil(        num_vol number(4) PRIMARY KEY,    num_avion NUMBER(4),     nbvolh_mois NUMBER(4),    nbhvol_tot NUMBER(6),    capacite N Remplacement de valeurs pour formule de calcul [ par anspauldou ] Bonjour J'ai deux tables Formule et SaisieValeur La table Formule contient : Insert Into Formule (NumFormule, LibFormule) Values ('01', (({a}+{b})* Insert into [matable] values (ma variable, Select...) c'est possible?? [ par yanis7518 ] Salut à tous, Je voudrais faire une procédure stockée qui fait des insertions d'une table vers une autre. Dans ma nouvelle table j'ai un Guid que je Ajouter un enregistrement Vb INSERT INTO [ par scottmat ] Bonjour à tous, voila j'utilise VB et voudrais ajouter tout simplement une ligne (enregistrement) dans une table, voici le code que j'utilise : Di INSERT INTO ok via ACCESS Too few parameter via ODBC [ par Frederick_Etudiant ] Bonsoir à tous,Je n'arrive pas à résoudre un problème et encore moins à le comprendre.Je travaille avec Java et ACCESS, je crée une table et juste ens Insert de select [ par elpens ] Bonjour, j'ai un petit soucis avec une procédure :Voilà :Je voudrai insérer les valeurs obtenues de la deuxième query, dans la première queryINSERT IN @@identity apres Insertion [ par issoux ] Bonjour,  J'utilise dans une stored procedure trois  Insert . J'ai besoin de l'id du premier insert pour le mettre dans le deuxieme Insert . Mes id so Addition dans une requete avec INSERT INTO [ par trialrofr ] Bonjour à tousJ'ai une requete avec la fonction INSERT INTO :sql = "INSERT INTO STOCK ( Designation_Art_cde , Num_art_cde , PrixU_cde, Quantite_cde ) INSERT INTO [...] ON DUPLICATE KEY UPDATE [...] [ par xactise ] Bonjour à tous, avec une requete du type INSERT INTO [...] ON DUPLICATE KEY UPDATE [...] peux t-on savoir si c un INSERT ou un UPDATE qui à été effec


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,014 sec (3)

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