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]
The problem is a missing alias ppp