选择多个连接以使用3个以上的表进行显示

时间:2013-10-01 09:41:40

标签: sql

我有4张表如下:

  1. 用户,2。文章,3。客户,4。客户文章
  2. 字段如下:

    1. 用户:ID,ClientID,名称
    2. 文章:文章ID,名称,价值
    3. 客户:ID,姓名
    4. 客户端文章:ID,ClientID,ArticleID
    5. 我想要User Article.value = 'y'的客户列表。我怎么能这样做?

2 个答案:

答案 0 :(得分: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浏览器。左连接,内连接等

答案 1 :(得分: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 |