2017-01-29 95 views
0

我有2個查詢我可以合併2選擇在MySQL?

表1:項目:id/title

表:2標籤:id/item_id/name

1-

SELECT `*` 
    FROM `item` 
    INNER JOIN `tag` ON `item`.`id` = `tag`.`item_id` 
    WHERE 
    `tag`.`name` = 100; 

2-

SELECT `*` 
    FROM `item` 
    WHERE 
    `title` = 100; 

怎麼可以加入他們(沒有重複的item行)?

+1

編輯您的問題並提供樣本數據和期望的結果。那樣,我們就會知道你在做什麼。 –

+0

這是一個評論,不是你的問題的解決方案,但你不應該把'*'放在引號內,除非你有一個字面名爲'「*」的列(我會勸阻)。 –

回答

0

也許你打算這樣:

select i.* 
from item i 
where i.title = 100 or 
     exists (select 1 from tag t where i.id = t.item_id and t.name = 100); 

這將返回其標題爲100或誰擁有標籤100的所有項目。

0

使用或修改

SELECT * FROM item INNER JOIN tag ON item.id = tag.item_id WHERE tag.name = 100 OR title=100;

0

表1:項目:ID /標題 表:2標籤:ID/ITEM_ID /名稱

SELECT * 
    FROM item 
    JOIN tag 
ON item.id = tag.item_id 
    WHERE 
    tag.name = 100 
OR 
    item.title= 100; 

這將顯示是100個項目名稱,它們都標記名稱100 還要選擇*爲選擇所有列不應該用單引號括起來。它簡寫爲SELECT *