2014-11-12 3 views
0

У меня есть 3 таблицы, все они связаны с PK и FK. Таблицы acc_details, acc_info, acc_billИзвлечение данных из нескольких таблиц в phpmyadmin

TABLE : acc_info 

ID  | acc_no   | rate 
______________________________________ 
1  |   00001  |  0 
2  |   00002  |  21 
3  |   00003  |  21 
4  |   00004  |  21 

TABLE : acc_details 

id_dls | acc_type  | address   | **ID** 
________________________________________________________ 
1  |  store  |  pekan  | 1 
2  |  water plant |  kuantan  | 2 
3  |  store  |  kuantan  | 2 
4  |  pump house |  kuantan  | 4 


TABLE : acc_bill 

id_bill |  acc_no | charge_1  | charge_2 
________________________________________________________ 
1  |  00001  |  20.00  | 12.00 
2  |  00002  |  15.00  | 16.00 
3  |  00004  | 200.00  | 22.00 

ПК ---> ID, acc_no ОТ acc_info FK ---> ID ОТ acc_details, acc_no ОТ acc_bill

я надеялся, исход быть похожим это

address  | acc_no  | rate | charge_1 | charge_2 
_________________________________________________________________________________ 
pekan  | 00001  |  0  | 20.00 | 12.00 
kuantan  | 00002  | 21  | 15.00 | 16.00 
kuantan  | 00004  | 21  | 200.00 | 22.00 

сейчас, я попытался это

SELECT address , acc_no , rate , charge_1 , charge_2 
FROM acc_info , acc_details , acc_bill 
WHERE acc_info.id = acc_details AND acc_info.acc_no = acc_bill.acc_no 

Но ошибка № 1052 - Столбец «acc_no» в списке полей неоднозначен Кто-нибудь может помочь?

ответ

1
SELECT address , 
     acc_info.acc_no , 
     rate , 
     charge_1 , 
     charge_2 
FROM acc_info 
JOIN acc_details ON acc_info.id = acc_details.id 
JOIN acc_bill ON acc_info.acc_no = acc_bill.acc_no 

это означает acc_no существует в двух соединенных таблицы, таким образом, вы должны указать, какие acc_no вы хотите

+0

+1 за ответ, изменил запрос на использование явного соединения. – radar