Avatar billede usse Nybegynder
19. december 2007 - 08:52 Der er 1 kommentar og
1 løsning

Mixe 2 SPers sammen?

ALTER PROCEDURE [dbo].[getReservedBookedSeats]
    @travelID int,
    @userID int
AS
BEGIN
    SET NOCOUNT ON;

SELECT Byer.bynavn, Lande.landnavn, Reservation.pladsNr, Selskaber.navn, Afgange.tidAfgang, Reservation.navn, Reservation.email, Reservation.booked
FROM Byer, Lande, Reservation, Selskaber, Afgange, Rejser, Destination
WHERE Reservation.rID = @travelID AND Reservation.bID = @userID
AND Reservation.rID = Rejser.rID AND Rejser.sID = Selskaber.sID AND Rejser.afID = Afgange.afID AND Afgange.desID = Destination.desID AND Destination.byID = Byer.byID AND Byer.landID = Lande.landID

<--- Jeg vil her have kun et Klasse.kID for hvert sæde "reservation" altså på en eller anden måde mixe getSeatClass ind her, men ved ikke rigtig hvordan, håber i forstår mit spørgsmål..
-------------------

ALTER PROCEDURE [dbo].[getSeatClass]
    @travelID int,
    @seat int
AS
BEGIN
    SET NOCOUNT ON;
   
SELECT TOP 1 Klasse.kID
FROM Reservation, Rejser, Fly, Flytype, Sektioner, Klasse
WHERE Reservation.rID = @travelID AND Reservation.pladsNr = @seat
AND Reservation.rID = Rejser.rID AND Rejser.flyID = Fly.flyID AND Fly.typeID = Flytype.typeID AND Flytype.typeID = Sektioner.typeID AND Sektioner.kID = Klasse.kID
AND Sektioner.seatOffset >= @seat
               
END
Avatar billede lorentsnv Nybegynder
20. december 2007 - 09:31 #1
Hej.

Du kan godt slå dem sammen, noget i retning af nedenstående, og eventuelt bruge @kID som filter:


ALTER PROCEDURE [dbo].[getReservedBookedSeats]
@travelID int,
@userID int,
@seat int
AS


DECLARE @kID AS int

BEGIN
    SET NOCOUNT ON;
   
   
    SELECT @kID = TOP 1 Klasse.kID
    FROM  Reservation,
          Rejser,
          Fly,
          Flytype,
          Sektioner,
          Klasse
    WHERE  Reservation.rID = @travelID
      AND  Reservation.pladsNr = @seat
      AND  Reservation.rID = Rejser.rID
      AND  Rejser.flyID = Fly.flyID
      AND  Fly.typeID = Flytype.typeID
      AND  Flytype.typeID = Sektioner.typeID
      AND  Sektioner.kID = Klasse.kID
      AND  Sektioner.seatOffset >= @seat
   
   
    SELECT Byer.bynavn,
          Lande.landnavn,
          Reservation.pladsNr,
          Selskaber.navn,
          Afgange.tidAfgang,
          Reservation.navn,
          Reservation.email,
          Reservation.booked
    FROM  Byer,
          Lande,
          Reservation,
          Selskaber,
          Afgange,
          Rejser,
          Fly,
          Flytype,
          Sektioner,
          Destination
    WHERE  Reservation.rID = @travelID
      AND  Reservation.bID = @userID
      AND  Reservation.rID = Rejser.rID
      AND  Rejser.sID = Selskaber.sID
      AND  Rejser.afID = Afgange.afID
      AND  Rejser.flyID = Fly.flyID
      AND  Fly.typeID = Flytype.typeID
      AND  Flytype.typeID = Sektioner.typeID
      AND  Afgange.desID = Destination.desID
      AND  Destination.byID = Byer.byID
      AND  Byer.landID = Lande.landID
      AND  Sektioner.kID = @kID
END


Forstår jeg dig rigtig?
Avatar billede usse Nybegynder
03. februar 2009 - 20:58 #2
Stopper
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester