# Inject SQL Statement in Rails

**URL:** <https://www.ruby-forum.com/t/inject-sql-statement-in-rails/122779>\
**Category:** Ruby\
**Created:** [December 12, 2007, 4:22am UTC](https://www.ruby-forum.com/t/inject-sql-statement-in-rails/122779 "2007-12-12T04:22:35Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![jojobert](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ee7513/32.png) [@jojobert](https://www.ruby-forum.com/u/jojobert)\
**Post date:** [December 12, 2007, 4:22am UTC](https://www.ruby-forum.com/t/inject-sql-statement-in-rails/122779/1 "2007-12-12T04:22:35Z")

</div>

Hi,

I have a simple SQL statement which I would like to inject in my web  
application. The SQL statement is:

Select course\_id  
from degrees  
where programme\_id = 1

I need to know the step by step on how to make this work. What changes  
should be made to the model, view or controller? Urgent. Please reply  
asap.  
Thank you very much!

---

<div class="post-metadata">

**Author:** ![jojobert](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ee7513/32.png) [@jojobert](https://www.ruby-forum.com/u/jojobert)\
**Post date:** [December 12, 2007, 7:25pm UTC](https://www.ruby-forum.com/t/inject-sql-statement-in-rails/122779/2 "2007-12-12T19:25:59Z")

</div>

You can use find\_by\_sql to use MySQL directly:

@object.find\_by\_sql("SELECT course\_id  
FROM degrees  
WHERE programme\_id = 1  
")

@object will be referenced with an array of entries from database.

---

<div class="post-metadata">

**Author:** ![jojobert](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ee7513/32.png) [@jojobert](https://www.ruby-forum.com/u/jojobert)\
**Post date:** [December 13, 2007, 1:30am UTC](https://www.ruby-forum.com/t/inject-sql-statement-in-rails/122779/3 "2007-12-13T01:30:27Z")

</div>

yudi wrote:

> You can use find\_by\_sql to use MySQL directly:
> 
> @object.find\_by\_sql("SELECT course\_id  
> FROM degrees  
> WHERE programme\_id = 1  
> ")
> 
> @object will be referenced with an array of entries from database.

okay so i put this statement in the model right?

just curious, how does the view/controller know where to find this?

---

<div class="post-metadata">

**Author:** ![jojobert](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ee7513/32.png) [@jojobert](https://www.ruby-forum.com/u/jojobert)\
**Post date:** [December 13, 2007, 2:33am UTC](https://www.ruby-forum.com/t/inject-sql-statement-in-rails/122779/4 "2007-12-13T02:33:10Z")

</div>

thanks everyone for all the help!

---

<div class="post-metadata">

**Author:** ![jojobert](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ee7513/32.png) [@jojobert](https://www.ruby-forum.com/u/jojobert)\
**Post date:** [December 13, 2007, 2:22am UTC](https://www.ruby-forum.com/t/inject-sql-statement-in-rails/122779/5 "2007-12-13T02:22:36Z")

</div>

Check RailsEnvy for an ActiveRecord tutorial. You’ll find everything you  
need over therehttp://www.railsenvy.com/2007/8/8/activerecord-tutorial
