【问题标题】:Joins for queries查询连接
【发布时间】:2012-05-10 11:11:27
【问题描述】:

我这周正在准备考试,我看到过去的试卷是这样的:

讲师

lec_id
lec_name
phone
dept

请求

lec_id
book_id 
qty 
date

book_id
title
author
cost
supplier

我需要编写一个 MySQL 命令,该命令将找到每位请求 id#123 书籍的讲师的姓名和电话号码。

我尝试创建如下所示的查询:

SELECT lec_name, phone FROm lecturer 
  LEFT JOIN requests ON requests.lec_id = lecturer.lec_id 
  LEFT JOIN requests ON requests.book_id = book.book_id
WHERE book.book_id = 123

但是我不断收到错误 Not unique table/alias: 'requests'

【问题讨论】:

    标签: mysql join


    【解决方案1】:

    最好从 book 开始,这样 WHERE 子句会更简洁,并且可能更直观地适应于搜索另一本特定书籍和/或所有书籍:

    select book.book_id, book.title, lecturer.lec_name, lecturer.phone 
    from book
    left join requests on book.book_id = requests.book_id
    left join Lecturer on requests.lec_id = Lecturer.lec_id 
    where book.book_id = 123
    

    【讨论】:

      【解决方案2】:
      SELECT lec_name, phone FROm lecturer 
        LEFT JOIN requests ON requests.lec_id = lecturer.lec_id 
        AND requests.book_id = book.book_id
      WHERE book.book_id = 123
      

      【讨论】:

        猜你喜欢
        • 2012-04-21
        • 1970-01-01
        • 1970-01-01
        • 2010-09-25
        • 2012-04-25
        • 2014-02-19
        • 2012-02-20
        • 2011-03-04
        • 2016-03-28
        相关资源
        最近更新 更多