簡體   English   中英

SQL查詢錯誤:列名無效

[英]SQL Query Error: Invalid Column Name

我是SQL的新手,我有這個問題,我似乎無法搜索谷歌。 這是我的學校工作,所以請耐心等待我的編碼。 現在問題是我正在做一個選擇查詢,SQL似乎沒有識別我需要的列

這是一張附圖,它只是說無效列,但很明顯該列存在

Dropbox鏈接到圖片

這是完整的代碼

create database Hairsalon

use Hairsalon   

create table Employee
(
    Employee_ID int primary key,
    Name varchar(20),
    Birthday date,
    Gender char(1)
);

create table Inventory
(
    Inventory_ID int primary key,
    Name varchar(30),
    Stock int   
)

create table Record
(
    Transaction_Number int primary key,
    Transaction_Date date,
    Transaction_Time time
);

alter table Record
    drop column Transaction_Date
alter table Record
    drop column Transaction_Time
alter table Record
    add Transaction_DT varchar(30)
alter table Record
    add Transaction_Description varchar(255)

Create table Inventory_Record
(
    Transaction_Number int primary key foreign key references Record(Transaction_Number),
    Inventory_ID int foreign key references Inventory(Inventory_ID),
);

create table Customer_Record
(
    Transaction_Number int foreign key references Record(Transaction_Number),
    Customer_ID int primary key,
    Service_Description varchar(255),
    Pay money
);

create table Customer
(
    Customer_ID int foreign key references Customer_Record(Customer_ID),
    Name varchar(20),
    Payable money,
    Session_DT varchar(20)
);

create table Employee_Record
(
    Transaction_Number int primary key foreign key references Record(Transaction_Number),
    Employee_ID int foreign key references Employee(Employee_ID),
    Time_In time,
    Time_Out time,
    Record_Date date,
    Customer_Count int
);

create table Salon
(
    Customer_ID  int foreign key references Customer_Record(Customer_ID),
    Employee_ID  int foreign key references Employee(Employee_ID),
    Inventory_ID int foreign key references Inventory(Inventory_ID),
    Transaction_Number int foreign key references Record(Transaction_Number)
);

alter table Customer
    add Session_DT varchar(20)

alter table Customer
    drop column Customer_ID
alter table Customer
    add Customer_ID int foreign key references Customer_Record(Customer_ID)

alter table Customer_Record
    add Employee_ID int foreign key references Employee(Employee_ID)

alter table Employee
    add [Type] varchar(15)

alter table Employee
    drop column Birthday
    alter table Employee
    drop column Birthday

alter table Employee_Record
    drop column Time_In
alter table Employee_Record
    drop column Time_Out
alter table Employee_Record
    drop column Record_Date
alter table Employee_Record
    add Time_In varchar(20)
alter table Employee_Record
    add Time_Out varchar(20)
alter table Employee_Record
    add Record_Date varchar(20)
alter table Employee_Record
    drop column Customer_Count

insert into Employee 
values(1,'Test Employee','M','Cashier','bday')
insert into Employee 
values(-1,'Null','N','Null','Null')
insert into Employee values(1,'test1','M','HairDresser','9/8/2014')

INSERT INTO Record  values(2,'')
INSERT INTO Customer_Record values(1,1,'asd',123.00,null)
INSERT INTO Customer values(1,'test1',0,'9/8/2014 8:16 AM')

SELECT * FROM Record
select * from Customer
SELECT * FROM Customer_Record
SELECT * FROM Employee

SELECT DISTINCT Customer.Name as 'Customer Name', Employee.Name as 'Attendee'
FROM Customer, Customer_Record, Employee_Record, Employee
WHERE ( Customer_Record.Transaction_Number = Employee_Record.Transaction_Number 
        AND Employee_Record.Employee_ID = Employee.Employee_ID
        AND Customer.Customer_ID = Customer_Record.Customer_ID
        ) OR ( Customer_Record.Transaction_Number = Employee_Record.Transaction_Number 
        AND Customer_Record.Employee_ID = -1
        AND Customer.Customer_ID = Customer_Record.Customer_ID
        )

insert into Employee_Record values(9,1,'10:00','10:99','date')

select * from Record
select * from Customer
select * from Employee
select * from Employee_Record
select * from Customer_Record

select count(Customer_ID) from Customer
select count(Transaction_Number) from Record

insert into Customer
values(1,'test',120,DATEFROMPARTS(32,12,31))

INSERT INTO Customer_Record values(1,1,'Long Haired Customer: ',0, null)

DELETE FROM Customer WHERE Customer_ID = 1

DELETE FROM Customer
DELETE FROM Customer_Record
DELETE FROM Record

DELETE FROM Employee
DELETE FROM Employee_Record
DELETE FROM Inventory
DELETE FROM Inventory_Record

commit

根據您提供的DDL,很明顯Customer_Record沒有Employee_ID。

您可能已將Customer_Record與Employee_Record或Employee_ID與Customer_ID混淆,但出現了問題。

編輯我錯過了你改變腳本中的表來添加缺少的列。 在這種情況下,Intellisense(自動完成系統)不會考慮它,除非您手動重新加載它(使用Ctrl + Shift + R)。 您的查詢是正確的,一旦Intellisense是最新的,錯誤將消失。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM