2013-10-01 42 views
-5

我有4个表如下显示:选择多个连接使用多于3个表

  1. 用户,2.第,3.客户端,4. ClientArticle

的字段如下:

  1. 用户:ID,客户端ID,姓名
  2. 文章:文章编号,名称,价值
  3. 客户:ID,名称
  4. 客户端文章:ID,客户端ID,条款ArticleID

我想拥有的客户名单为User,其中Article.value = 'y'。我怎样才能做到这一点?

回答

0
Select c.Id, c.Name from Client c 
    Join ClientArticle ca on c.ID = ca.ClientID 
    Join Article a on ca.ArticleID = a.ArticleId 
    Where a.Value = 'Y' 

你需要根据你想要的结果玩连接类型。 IE浏览器。 LEFT JOIN,内蒙古等加入

0

这里是SQLFiddle

和您的查询应该是

Select c.* from Client c 
    Join Client_Article ca on c.id = ca.ClientID 
    Join Article a on ca.ArticleID = a.Article_Id 
    Where a.Value = 'Y'; 

而且它显示了上述小提琴例如输出

| ID | NAME | 
|----|------| 
| 26 | ccc |