1

次のように、3つのテーブルがあります。

Patron
======
patron_num


Booking_For_Schedule
====================
tname
date
time
booking_num

Booking_By_Patron
=================
booking_num
patron_num

patron_num次のように、列、datetime、およびで結果を取得したいと思いますtname

patron_num     date      time     tname
     1      2013-11-03  20:00    TestName 

...等

この宿題の目的は、INNER JOINS を教えることですが、私は少し苦労しています。ある種のSOユーザーが私を正しい方向に押してくれますか?

ここに私のSQLがあります:

SELECT `patron_num`,`date`,`time`,`tname`
FROM `booking_for_schedule` `F`
INNER JOIN `booking_by_patron` `B` on `F`.`booking_num` = `B`.`booking_num`
INNER JOIN `patron` `P` on `B`.`patron_num`=`P`.`patron_num`

エラーを返します:#1052 - Column 'patron_num' in field list is ambiguous

4

2 に答える 2

1
SELECT `P`.`patron_num`,`date`,`time`,`tname`
FROM `booking_for_schedule` `F`
INNER JOIN `booking_by_patron` `B` on `F`.`booking_num` = `B`.`booking_num`
INNER JOIN `patron` `P` on `B`.`patron_num`=`P`.`patron_num`

あいまいさに役立ちます。

于 2013-03-12T00:02:52.393 に答える
1

は複数のテーブルにあるためpatron_num、使用するテーブルを指定する必要があります。これを行うには、結合する前にテーブル エイリアスを追加します。例:

SELECT `B`.`patron_num`,`date`,`time`,`tname`
FROM `booking_for_schedule` `F`
INNER JOIN `booking_by_patron` `B` on `F`.`booking_num` = `B`.`booking_num`
INNER JOIN `patron` `P` on `B`.`patron_num`=`P`.`patron_num`
于 2013-03-12T00:03:12.550 に答える