# Query SQL composta

**URL:** <https://www.ruby-forum.com/t/query-sql-composta/186227>\
**Category:** IT\
**Created:** [April 2, 2010, 3:15pm UTC](https://www.ruby-forum.com/t/query-sql-composta/186227 "2010-04-02T15:15:04Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![mckracken](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/5daacb/32.png) [@mckracken](https://www.ruby-forum.com/u/mckracken)\
**Post date:** [April 2, 2010, 3:15pm UTC](https://www.ruby-forum.com/t/query-sql-composta/186227/1 "2010-04-02T15:15:04Z")

</div>

Salve a tutti. Devo eseguire questa query in ruby on rails:

SELECT DISTINCT \* FROM users U, result\_comments RC WHERE RC.result\_id =  
2 AND RC.user\_id = U.id;

dove ovviamente il parametro RC.result\_id Ã¨ variabile (lo passo io a  
mano).  
Oltre alla possibilita di eseguire la query con execute etc… , esiste  
un altro modo per effettuarla, ad esempio con una find() o altro?  
Grazie

---

<div class="post-metadata">

**Author:** ![mckracken](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/5daacb/32.png) [@mckracken](https://www.ruby-forum.com/u/mckracken)\
**Post date:** [April 2, 2010, 3:19pm UTC](https://www.ruby-forum.com/t/query-sql-composta/186227/2 "2010-04-02T15:19:39Z")

</div>

Emanuele B. wrote:

> Salve a tutti. Devo eseguire questa query in ruby on rails:
> 
> SELECT DISTINCT \* FROM users U, result\_comments RC WHERE RC.result\_id =  
> 2 AND RC.user\_id = U.id;
> 
> dove ovviamente il parametro RC.result\_id Ã¨ variabile (lo passo io a  
> mano).  
> Oltre alla possibilita di eseguire la query con execute etc… , esiste  
> un altro modo per effettuarla, ad esempio con una find() o altro?  
> Grazie

puoi usare una named\_scope

---

<div class="post-metadata">

**Author:** ![mckracken](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/5daacb/32.png) [@mckracken](https://www.ruby-forum.com/u/mckracken)\
**Post date:** [April 2, 2010, 3:44pm UTC](https://www.ruby-forum.com/t/query-sql-composta/186227/3 "2010-04-02T15:44:50Z")

</div>

Alessandro S. wrote:

> puoi usare una named\_scope

Sto provando a capirci qualcosa con questi named\_scope ma sto impazzendo  
:D. Sono un po’ novizio di ruby on rails…

---

<div class="post-metadata">

**Author:** ![mckracken](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/5daacb/32.png) [@mckracken](https://www.ruby-forum.com/u/mckracken)\
**Post date:** [April 3, 2010, 5:04pm UTC](https://www.ruby-forum.com/t/query-sql-composta/186227/4 "2010-04-03T17:04:27Z")

</div>

Ciao!

Definisci per esempio:

named\_scope :and\_result\_comments,  
lambda { |result\_id| {:select =\> ‘DISTINCT \*’,  
:from =\> “users, result\_comments”,  
:conditions =\> [’ result\_comments.result\_id = ?  
AND

result\_comments.user\_id = users.id’, result\_id]} } }

in User. A quel punto potrai usare

User.and\_result\_comments.all

Silvano

2010/4/2 Emanuele B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

–  
Considera l’ambiente prima di stampare questa email. Be a total user  
rather than a complete waster.

. . . Silvano S. . . .  
email: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
site: [http://www.sistrall.it](http://www.sistrall.it)
