创建新表时没有显示任何内容的表

时间:2014-12-03 12:02:27

标签: sql database foreign-keys sql-server-2014 create-table

我遇到SQL问题。 我正在尝试使用外键从其他表创建表。该表通常没有问题地创建,但是当我试图查看表中的数据时,里面没有任何数据!谁知道?

- 这是带有外键的表格

CREATE TABLE StaffXCustomersXMeals(
        --MealID int FOREIGN KEY REFERENCES Meals(MealID),
        --CustomersID int FOREIGN KEY REFERENCES Customers(CustomersID),
        --StaffID int FOREIGN KEY REFERENCES Staff(StaffID)
     )

2 个答案:

答案 0 :(得分:0)

您没有输入任何数据。您只说输入的数据必须引用其他表。所以你不能输入无效的饭菜。

您需要使用INSERT语句用您需要的任何数据填充表格。

答案 1 :(得分:0)

您可能需要考虑阅读SQL View的概念 - 将其视为基于SQL语句结果集的"虚拟表。"当您基于多个表之间的JOIN创建视图时,它会保存您的查询,然后您可以像对待表一样从中进行选择。

例如,您可能有以下内容:

CREATE VIEW StaffCustomerMeals 
AS

SELECT 
    m.MealID,
    c.CustomersID,
    s.StaffID 
FROM 
    Meals m
     LEFT JOIN
    Customers c ON 
        m.SomeIDThatMeansThisCustomer = c.CustomersID
     LEFT JOIN 
    Staff s ON 
        m.SomeIDThatMeansAStaffMember = s.StaffID

您需要根据自己的架构定义这些关系 - 这是您的家庭作业,所以尽力解决。还有几个需要考虑的问题:

  1. 一顿饭总是既有顾客又有工作人员,或者他们是可能恰好是员工的顾客?
  2. 您是否应包括ID以外的其他信息(例如,CustomerName,StaffMemberDepartment,MealPrice,PurchaseDate)