2014-10-21 3 views
0

Вот SQL заявление, которое я с помощью:Вопросы о MySQL JOIN ИЛИ ГДЕ заявление

SELECT a.Customer_ID, a.Customer_Name,c.Service_ID 
      , c.Service_Name,f.Service_Type,c.Service_Price 
      , e.Bill_ID, e.Bill_Day, e.Due_Bill_Day 
    FROM customers a,customer_service b,services c 
     , billing_services d, billing e, services_type f 
    WHERE a.Customer_ID = b.Customer_ID AND b.Service_ID = c.Service_ID 
     AND c.Service_ID = d.Service_ID AND d.Bill_ID = e.Bill_ID 
     AND c.Service_Type = f.ID 

У меня есть несколько вопросов о SQL заявления. 1. Могу ли я узнать, что верхний оператор совпадает с использованием соединения? (Preformance?) 2. Я бы хотел, чтобы результат показывался один раз, если дубликат и результат разницы отображаются дважды для утверждения счета.

спасибо. Screen Shot of phpmyadmin

ответ

0
SELECT max(a.Customer_ID), max(a.Customer_Name),max(c.Service_ID) 
       , max(c.Service_Name),max(f.Service_Type),max(c.Service_Price) 
       , max(e.Bill_ID), max(e.Bill_Day), max(e.Due_Bill_Day) 
     FROM customers a inner join customer_service b on(a.Customer_ID = b.Customer_ID) inner join services c on (b.Service_ID = c.Service_ID) 
      inner join billing_services d on(c.Service_ID = d.Service_ID) inner join billing e on(d.Bill_ID = e.Bill_ID) inner join services_type f on(c.Service_Type = f.ID) 
      group by a.Customer_ID, a.Customer_Name,c.Service_ID 
       , c.Service_Name,f.Service_Type,c.Service_Price 
       , e.Bill_ID, e.Bill_Day, e.Due_Bill_Day 

Попробуйте этот код

+0

Спасибо за ваш ответ, я получил тот же результат. Итак, получится ли производительность? –

+0

Попробуйте еще раз. –

Смежные вопросы