2015-06-14 82 views
-1

我有三個表:使用子查詢選擇多個值

  1. 文章

  2. articleTags

  3. article_articleTags_Rel

articleTags_Rel表中有2列

  1. ArticleID_FK

  2. TagID_FK

正如你可以看到article_articleTags_Rel是將T之間的關係他文章articleTags

所有我想要的是從文章表,並使用子查詢所有相關的標籤(多值)選擇一行。

我該如何做到這一點?

+1

請提供一些示例數據以及您想要獲取的數據結果。 – Mureinik

+0

@Mureinik我不知道這是如何工作,我不知道如何將返回的數據(可能是標籤將添加爲列?),這是我第一次面對這種情況,任何建議,歡迎。 –

+0

您正在查找連接查詢,而不是子查詢。 – Tim3880

回答

2

你可以嘗試這樣的事情:

select a.name, b.TagName 
from 
    article_articleTags_Rel c 
    inner join articles a on a.ID = c.ArticleID_FK 
    left outer join articleTags b on b.ID = c.TagID_FK 

結果:

name TagName 
--------------- 
art A tag 1 
art A tag 2 
art A tag 3 
art B tag 1 
art B tag 3 
art C tag 1 
art C tag 3 

sql小提琴: http://sqlfiddle.com/#!6/8d30f/2

+0

這不是我要找的。 btw謝謝! :) –

+2

你在找什麼?你能給我們一個你想要的輸出樣本嗎? –

1

既然你不提供任何樣品,我猜你只需要一個簡單的想法:

SELECT a.*, t.* FROM Articles a 
    JOIN article_articleTags_Rel r 
    ON a.ArticleID = r.ArticleID_FK 
    JOIN articleTags t 
    ON t.TagID = r.TagID_FK 
+0

這不是我要找的。 btw謝謝! :) –