2016-02-23 89 views
-1
  1. 2子表:驱动&通勤
  2. 父表:用户
  3. 我的代码,并导致与预期输出(在链路):显示结果从相同的父表2个不同子表

    从Booking_t book,user_t u where book.Commuter = u.Phone_Num和extract(从Book_time开始的月份)= 2并提取(从Book_time开始的年份)= 2014,选择Booking_ID,Book_Time,u.Name作为驱动程序,u.Name作为通勤者,提取物(来自Book_time的日期 )< 16 gr按Booking_ID排序;

enter image description here

  • Driver & commuter具有Phone_Num即外键&参考用户表Phone_Num
  • 我的代码结果表明通勤名称在两个驱动器&通勤列,但实际输出应分别显示驾驶员和通勤者列中的驾驶员姓名和通勤者姓名。
  • 当我在上面提到的代码的where子句中添加book.Driver = u.Phone_Num时,输出显示没有数据。的UserDriver

  • 表结构,Commuter & booking(忽略在链路中的其他表) enter image description here

  • 回答

    0

    选择Booking_ID,Book_Time,u.Name作为驱动,Ú。名称作为来自Booking_t的通勤者,user_t u其中book.Commuter = u.Phone_Num并且提取(来自Book_time的月份)= 2并且提取(来自Bo的年份ok_time)= 2014并提取(从Book_time开始的日期)< 16组by Booking_ID;

    您正在选择u.Name作为Driver和Commuter。可能所有你需要解决的是其中的一个应该是book.Name。

    +0

    您好@Erik,我不明白您的book.name,如逻辑数据库设计中所示,预订表中没有名称属性,导致预订表中出现未知列。 – Angel

    +0

    嗨@Erik我知道你在说什么,我使用不同的名字作为司机和通勤者,例如a.Name作为司机和b.Name作为通勤者,但是我的结果显示除了驾驶员姓名的空记录之外的所有记录出价预订。任何可能的原因呢? – Angel

    相关问题