# Problema query sql con join

**URL:** <https://www.ruby-forum.com/t/problema-query-sql-con-join/72467>\
**Category:** IT\
**Created:** [October 17, 2006, 12:49pm UTC](https://www.ruby-forum.com/t/problema-query-sql-con-join/72467 "2006-10-17T12:49:07Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![stb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e68b1a/32.png) [@stb](https://www.ruby-forum.com/u/stb)\
**Post date:** [October 17, 2006, 12:49pm UTC](https://www.ruby-forum.com/t/problema-query-sql-con-join/72467/1 "2006-10-17T12:49:07Z")

</div>

Ciao, ho un problema a fare il join di due tabella per il semplice  
motivo che ho un parametro(user\_id) ambiguo, lo stesso parametro è  
presente in due tabella, e poco male, dovrei solo specificare la  
tabella in :conditions ed è qui che ho problemi, come potete vedere  
ho specificato observe\_travels ma non gli va bene.

Tra l’altro nel join ho visto che il nome delle tabella va messo  
identico a quello del db e nn l’ astrazione del modello, giusto?

@observe\_travels = ObserveTravel.find(:all,  
:conditions =\>  
[“observe\_travels.user\_id = #{session[:user].id}”],  
:joins =\> “as ot inner  
join travels on ot.travel\_id = travels.id”)

o anche provato @observe\_travels = ObserveTravel.find(:all,  
:conditions =\> ["  
ObserveTravel.user\_id = #{session[:user].id}"],  
:joins =\> “as ot inner  
join travels on ot.travel\_id = travels.id”)

Saluti Andrea\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_  
Ml mailing list  
removed\_email\_address@domain.invalid  
[http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

---

<div class="post-metadata">

**Author:** ![stb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e68b1a/32.png) [@stb](https://www.ruby-forum.com/u/stb)\
**Post date:** [October 17, 2006, 3:57pm UTC](https://www.ruby-forum.com/t/problema-query-sql-con-join/72467/2 "2006-10-17T15:57:19Z")

</div>

ho risolto anche se con un’ anomalia usando ot anche se definito dopo

```
 @observe_travels = ObserveTravel.find(:all,
                                       :conditions =>

```

[“ot.user\_id = #{session[:user].id}”],  
:joins =\> “as ot inner  
join travels on ot.travel\_id = travels.id”)

Il giorno 17/ott/06, alle ore 12:49, stb ha scritto:

---

<div class="post-metadata">

**Author:** ![stb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e68b1a/32.png) [@stb](https://www.ruby-forum.com/u/stb)\
**Post date:** [October 17, 2006, 6:02pm UTC](https://www.ruby-forum.com/t/problema-query-sql-con-join/72467/3 "2006-10-17T18:02:06Z")

</div>

Puoi usare l’opzione :include, invece che :joins; le condizioni di join  
sono calcolate automaticamente. Guarda la documentazione. Pero’ ti fa  
l’outer join e non l’inner join.

In :conditions devi usare frammenti di sql validi, che verranno passati  
direttamente al DB. Devi pertanto usare i nomi delle tabelle.

Ciao  
Simo  
addsw.it

stb wrote:

> Ciao, ho un problema a fare il join di due tabella per il semplice  
> motivo che ho un parametro(user\_id) ambiguo, lo stesso parametro ï¿½  
> presente in due tabella, e poco male, dovrei solo specificare la  
> tabella in :conditions ed ï¿½ qui che ho problemi, come potete vedere  
> ho specificato observe\_travels ma non gli va bene.
> 
> Tra l’altro nel join ho visto che il nome delle tabella va messo  
> identico a quello del db e nn l’ astrazione del modello, giusto?
> 
> @observe\_travels = ObserveTravel.find(:all,  
> :conditions =\>  
> [“observe\_travels.user\_id = #{session[:user].id}”],  
> :joins =\> “as ot inner  
> join travels on ot.travel\_id = travels.id”)
> 
> o anche provato @observe\_travels = ObserveTravel.find(:all,  
> :conditions =\> ["  
> ObserveTravel.user\_id = #{session[:user].id}"],  
> :joins =\> “as ot inner  
> join travels on ot.travel\_id = travels.id”)
> 
> Saluti Andrea\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_  
> Ml mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

---

<div class="post-metadata">

**Author:** ![stb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e68b1a/32.png) [@stb](https://www.ruby-forum.com/u/stb)\
**Post date:** [October 17, 2006, 6:37pm UTC](https://www.ruby-forum.com/t/problema-query-sql-con-join/72467/4 "2006-10-17T18:37:38Z")

</div>

si appunto, proprio per quello non ho capito perchÃ¨ non mi prendeva  
nome\_tabella.user\_id ma nt.user\_id dove nt sarebbe nome\_tabella as nt  
per  
dire cmq bho ho risolto meglio cosÃ¬ 😛

Saluti Andre

----- Original Message -----  
From: “Simo” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Sent: Tuesday, October 17, 2006 6:02 PM  
Subject: [ruby-it] Re: problema query sql con join

> addsw.it
> 
> > identico a quello del db e nn l’ astrazione del modello, giusto?  
> > ObserveTravel.user\_id = #{session[:user].id}"],  
> > Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

* * *
