2012-12-25 31 views
0

我困在一個query.i不知道wats的問題確切..可以任何1幫助我?php,postgresql,mysql

下面是代碼:

而我運行的查詢,它拋出的錯誤:錯誤:關係「承包人」不存在 5號線:從「承包人」

select cont.name, cont.total,cp.contractor_id,cp.amount_paid,wt.id 
       FROM 
       (
        select name,sum(amount_to_be_paid) as total 
        from "CONTRACTORS" 
        group by name 
       ) cont 
       left join 
       (
        select contractor_id,sum(amount_paid) as amount_paid 
        from "CONTRACTOR_PAYMENTS" 
        group by contractor_id 
       ) cp 

        on cont.id= cp.contractor_id 
           left join worktypeids as wt on cont.worktypeid_id = wt.id AND wt.project_id=2 
+1

從來沒有處理PostgreSQL的,但如果這是MySQL的,我也不會報價表名。 –

+0

引用表名使得表名區分大小寫;如果下面顯示的查詢使其起作用,那麼您的問題是您擁有承包商表格而不是承包商表格。所以,是的,不用引號就可以使它工作。 – xzilla

回答

0

試試這個

select cont.name, cont.total,cp.contractor_id,cp.amount_paid,wt.id 
       FROM 
       (
        select name,id, sum(amount_to_be_paid) as total 
        from contractors group by name,id 
       ) cont 
       left join 
       (
        select contractor_id,sum(amount_paid) as amount_paid 
        from contractor_payments 
        group by contractor_id 
       ) cp 

        on cont.id = cp.contractor_id 
           left join worktypeids as wt on cont.worktypeid_id = wt.id AND wt.project_id=2 
0

你可以添加表結構也?

在命名爲cont第一別名,這與cp加盟,所以續,你需要選擇id列好。

更好的發佈表結構和你想要的輸出?