2016-04-29 17 views
0

Wie kann ich order mit uniq verwenden?So verwenden Sie die Bestellung mit uniq in einem PostgreSQL

auction.invoices.get_auction_invoices.item_invoices. 
joins("INNER JOIN users ON users.id = invoices.usable_id").order("users.first_name").uniq 

Die obige Abfrage gibt mir folgende Fehlermeldung:

Das ist mein Tive

-umfang: item_invoices, -> {verbindet (: invoice_details) .wo ("? Invoice_details.invoiceable_type =", "Item")}

-umfang: get_auction_invoices, -> {where (: id => (item_invoices.skip_cancelled_invoice + donators.skip_cancelled_invoice))}

PG::InvalidColumnReference: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list LINE 1: ...oice_details.invoiceable_type = 'Item') ORDER BY users.firs... : SELECT DISTINCT "invoices".* FROM "invoices" INNER JOIN "invoice_details" ON "invoice_details"."invoice_id" = "invoices"."id" INNER JOIN users ON users.id = invoices.usable_id WHERE "invoices"."eventable_id" = $1 AND "invoices"."eventable_type" = $2 AND "invoices"."id" IN (1132, 1131, 777, 777, 777, 3013, 3024, 3024, 3024, 3024, 3041, 3041, 3013) AND (invoice_details.invoiceable_type = 'Item') ORDER BY users.first_name

+0

wie haben Sie 'auction.invoices.get_auction_invoices.item_invoices' in Modellen beschreiben? –

+0

auch bitte generierte SQL für die Linie (mit '# to_sql') –

+0

@ МалъСкрылевъ, das sind meine Bereiche, die ich in meinem Rechnungsmodell definieren – djrock

Antwort

1

Try this:

auction.invoices.get_auction_invoices.item_invoices.\ 
select("invoices.*, users.*").\ 
joins("INNER JOIN users ON users.id = invoices.usable_id").\ 
order("users.first_name").\ 
uniq 
+0

Seine Arbeit aber first_name nicht mit richtigen Reihenfolge – djrock

+0

kommen Sie Gruppe statt uniq – cruncher

+0

verwenden kann ich versuche es schon – djrock

Verwandte Themen