2016-07-29 77 views
-2

我正在使用Symfony2.8和MySQL进行项目工作。 我有我的数据库中的4个表是用户,报价,文章,文章引用。symfony2准则中的高级SQL查询

用户表

<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一对多 - > ArticlesQuote <大多都支援一对一 - >文章

我想获得属于通过quote_id订购的用户数7的所有报价文章

我想获得那是在用户数量的报价单号码63第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 – Mostafa

+0

将'and q.quote_id = 63'替换为'order by q.quote_id',以获得用户编号7的所有引用中的文章。应该这样做。 – jonju

+0

谢谢你我的朋友 – Mostafa