代码之家  ›  专栏  ›  技术社区  ›  blogger13

视频租赁店数据库的规范化

  •  0
  • blogger13  · 技术社区  · 4 月前

    因此,我正在学习Microsoft Access和SQL。我已经将几个字段规范化为以下四(4)个表(如关系图所示),假设它们是正确的,我无法在MS Access中运行下面的SQL查询。有人能解释一下我在例子中做错了什么吗?

    SELECT CUST_FNAME, CUST_LNAME
    FROM RENTALS, CUSTOMERS
    WHERE ID = CUST_ID AND MEDIA_TITLE = "The Love Boat";
    

    enter image description here

    我得到以下错误:

    enter image description here

    1 回复  |  直到 4 月前
        1
  •  4
  •   Joel Coehoorn    4 月前

    没有 ID 列。你有两张桌子,两张桌子都有 CUST_ID 列,因此为了避免歧义,您必须在列名前加上表名。

    更好的是,当你处于这种情况时,你应该给你的桌子一个 助记符别名 为了上帝的爱,不要使用那个古老的janky FROM A,B JOIN的语法。

    SELECT c.CUST_FNAME, c.CUST_LNAME
    FROM RENTALS r
    INNER JOIN CUSTOMERS c ON c.CUST_ID = r.CUST_ID
    WHERE r.MEDIA_TITLE = 'The Love Boat';
    

    我要做的另一件事是在 Media 表,因为肯定会有许多项目共享同一标题