Note that there are some explanatory texts on larger screens.

plurals
  1. POWhy am I getting a multi-part identifier error in SQL?
    primarykey
    data
    text
    <p>There are some tables that we want to do a search.<br> I couldn't understand why this error happens , please help.<br> I should be easy for experts,</p> <pre><code>SELECT * FROM passenger INNER JOIN [passenger-flylist] ppff ON ppp.[passenger-id] = ppff.[passenger-id] </code></pre> <p><strong>the Error :</strong></p> <blockquote> <p>Msg 4104, Level 16, State 1, Line 1<br> The multi-part identifier "ppp.passenger-id" could not be bound.</p> </blockquote> <p>Tables are :</p> <pre><code>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 </code></pre> <p><strong>Second</strong></p> <pre><code>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 </code></pre> <p><strong>Third</strong></p> <pre><code>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]) </code></pre> <p>If I had problem in setting the relations , please tell me how to do , </p> <h2>thanks</h2> <h2><strong>Edited Part</strong></h2> <p>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 )</p> <pre><code>SELECT [passenger-id] FROM passenger ppp -- &lt;&lt;&lt;&lt; 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 </code></pre> <p>The Error is: </p> <blockquote> <p>Msg 209, Level 16, State 1, Procedure SearchForPassenger, Line 19<br> Ambiguous column name 'passenger-id'.</p> </blockquote> <p>It refers to the 1st line that we want to select [passenger-id]</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload