There are some tables that we want to do a search I couldn't understand why this error happens , please help I should be easy for experts ,
SELECT * FROM passenger
INNER JOIN [passenger-flylist] ppff
ON ppp.[passenger-id] = ppff.[passenger-id]
the Error :
Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "ppp.passenger-id" could not be bound.
Tables are :
CREATE TABLE [dbo].[passenger](
[passenger-id] [int] IDENTITY(1,1) NOT NULL,
[name] [char](50) COLLATE Arabic_CI_AS NOT NULL,
[sex] [char](10) COLLATE Arabic_CI_AS NULL,
[mobile] [char](20) COLLATE Arabic_CI_AS NULL,
[address] [varchar](50) COLLATE Arabic_CI_AS NULL,
[flylist-id] [int] NOT NULL,
[chair-number] [char](10) COLLATE Arabic_CI_AS NOT NULL,
[Age] [char](10) COLLATE Arabic_CI_AS NULL,
[ticket-number] [char](10) COLLATE Arabic_CI_AS NULL,
CONSTRAINT [PK_passenger] PRIMARY KEY CLUSTERED
(
[passenger-id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
Second
CREATE TABLE [dbo].[flylist](
[flylist-id] [int] IDENTITY(1,1) NOT NULL,
[fly-number] [varchar](50) COLLATE Arabic_CI_AS NOT NULL,
[go-date] [char](15) COLLATE Arabic_CI_AS NOT NULL,
[return-date] [char](15) COLLATE Arabic_CI_AS NOT NULL,
[go-time] [char](5) COLLATE Arabic_CI_AS NOT NULL,
[return-time] [char](5) COLLATE Arabic_CI_AS NOT NULL,
[start-from] [varchar](50) COLLATE Arabic_CI_AS NOT NULL,
[destination] [varchar](50) COLLATE Arabic_CI_AS NULL,
[airline-company-id] [int] NOT NULL,
[airplane-id] [int] NOT NULL,
CONSTRAINT [PK_flylist] PRIMARY KEY CLUSTERED
(
[flylist-id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
Third
CREATE TABLE [dbo].[passenger-flylist](
[passenger-id] [int] NOT NULL,
[flylist-id] [int] NOT NULL,
CONSTRAINT [PK_passenger-flylist] PRIMARY KEY CLUSTERED
(
[passenger-id] ASC,
[flylist-id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
USE [AirlineSx]
GO
ALTER TABLE [dbo].[passenger-flylist] WITH CHECK ADD CONSTRAINT [FK_passenger-flylist_passenger-flylist] FOREIGN KEY([passenger-id], [flylist-id])
REFERENCES [dbo].[passenger-flylist] ([passenger-id], [flylist-id])
If I had problem in setting the relations , please tell me how to do ,
thanks
Edited Part
Thanks , I found that in parallel with you , but I got another error :
( In my real code I want to get Passenger-id , but it doesn't allow me )
SELECT [passenger-id] FROM passenger ppp -- <<<< This line
INNER JOIN [passenger-flylist] ppff
ON ppp.[passenger-id] = ppff.[passenger-id]
INNER JOIN flylist fff ON ppff.[flylist-id] = fff.[flylist-id]
WHERE ppp.[name] = @name AND
fff.[start-from] = @flightDate AND
ppp.[ticket-number] = @ticketNo
The Error is : Msg 209, Level 16, State 1, Procedure SearchForPassenger, Line 19 Ambiguous column name 'passenger-id'.
It refers to the 1st line that we want to select [passenger-id]