2016-07-29 9 views
-2

私はSymfony2.8とMySQLを使ってプロジェクトを進めています。 データベースには、ユーザー、引用符、記事、articlesquotesの4つのテーブルがあります。symfony2の高度なSQLクエリdoctrine

ユーザテーブル

<html> 
 
    <body> 
 
    <table border="1"> 
 
     <tr> 
 
     <th>user_id</th> 
 
     <th>name</th> 
 
     <th>age</th> 
 
     </tr> 
 
     <tr> 
 
     <td>7</td> 
 
     <td>Alex</td> 
 
     <td>20</td> 
 
     </tr> 
 
     <tr> 
 
     <td>8</td> 
 
     <td>John</td> 
 
     <td>30</td> 
 
     </tr> 
 
     
 
     </table> 
 
    </body> 
 
    </html>

符テーブル

<html> 
 
    <body> 
 
    <table border="1"> 
 
     <tr> 
 
     <th>quote_id</th> 
 
     <th>user_id</th> 
 
     <th>reference</th> 
 
     </tr> 
 
     <tr> 
 
     <td>61</td> 
 
     <td>7</td> 
 
     <td>AE20</td> 
 
     </tr> 
 
     <tr> 
 
     <td>62</td> 
 
     <td>7</td> 
 
     <td>AE21</td> 
 
     </tr> 
 
     <tr> 
 
     <td>63</td> 
 
     <td>7</td> 
 
     <td>AE22</td> 
 
     </tr> 
 
     <tr> 
 
     <td>64</td> 
 
     <td>8</td> 
 
     <td>AE29</td> 
 
     </tr> 
 
     
 
     </table> 
 
    </body> 
 
    </html>

articlesquote

<html> 
 
    <body> 
 
    <table border="1"> 
 
     <tr> 
 
     <th>id</th> 
 
     <th>quote_id</th> 
 
     <th>article_id</th> 
 
     <th>qte</th> 
 
     </tr> 
 
     <tr> 
 
     <td>58</td> 
 
     <td>61</td> 
 
     <td>2</td> 
 
     <td>7</td> 
 
     </tr> 
 
     <tr> 
 
     <td>59</td> 
 
     <td>62</td> 
 
     <td>3</td> 
 
     <td>8</td> 
 
     </tr> 
 
     <tr> 
 
     <td>60</td> 
 
     <td>63</td> 
 
     <td>1</td> 
 
     <td>9</td> 
 
     </tr> 
 
     <tr> 
 
     <td>61</td> 
 
     <td>63</td> 
 
     <td>2</td> 
 
     <td>10</td> 
 
     </tr> 
 
     
 
     </table> 
 
    </body> 
 
    </html>

記事テーブル

<html> 
 
    <body> 
 
    <table border="1"> 
 
     <tr> 
 
     <th>article_id</th> 
 
     <th>name</th> 
 
     </tr> 
 
     <tr> 
 
     <td>1</td> 
 
     <td>article1</td> 
 
     </tr> 
 
     <tr> 
 
     <td>2</td> 
 
     <td>article2</td> 
 
     </tr> 
 
     <tr> 
 
     <td>3</td> 
 
     <td>article3</td> 
 
     </tr> 
 
     
 
     </table> 
 
    </body> 
 
    </html>

今これらのテーブル間の関係は

ユーザー< --one対多である - >引用< --one対多 - > ArticlesQuote < --Many対1 - >記事

私は、ユーザー数7

の引用番号63にある記事が助けてくれてありがとう取得したいと思いquote_id

が注文したユーザーの数7のすべての引用符で囲んでいる記事を取得したいと思い

私。

答えて

0

はこれを試してみてください。

Select a.* From articles a 
Inner Join 
    articlesquote aq On a.article_id=aq.article_id 
Inner Join 
    quotes q On q.quote_id=aq.quote_id 
Inner Join 
    user u On u.user_id=q.user_id 
Where 
    u.user_id=7 and q.quote_id=63 
+0

は、それが動作ありがとう!!!最初のものはどうですか?quote_idで注文されたユーザー番号7のすべての引用文に含まれる記事を取得したいと思います。 – Mostafa

+0

'とq.quote_id = 63'を 'order by q.quote_id'に置き換えてください。それはそれを行うべきです。 – jonju

+0

ありがとう私の友人 – Mostafa

関連する問題