2017-04-12 84 views
0

我有一個表名任務包含名稱和ID。用戶使用不同的ID進行工作。 我希望這些用戶名如果​​兩個ID 6和0或用戶的工作用戶的工作兩個ID 6或1Mysql組合查詢邏輯

Name | ID 
========|====== 
Vivek | 6 
Vivek | 0 
Vivek | 1 
Sumit | 1 
Sumit | 0 
Anshul | 6 
Anshul | 1 
Gourav | 1 
Gourav | 0 
Gourav | 6 
Neha | 6 

根據我的問題,我想答案是

名稱

維韋克
Anshul
Gourav

回答

1
SELECT Name 
    FROM task 
WHERE ID IN (6,1) 
GROUP BY name 
HAVING COUNT(*) >= 2 
UNION 
SELECT Name 
    FROM task 
WHERE ID IN (6,0) 
GROUP BY name 
HAVING COUNT(*) >= 2 
; 
0

您需要使用group by和檢查count()

select Name 
from task 
where id in (6,1) 
group by name 
having count(id) = 2 
+0

這不會IDS 6和0 –

1

試試這個:

SELECT name 
FROM user 
WHERE id in (6,0) 
GROUP BY name 
HAVING COUNT(DISTINCT(ID)) >= 2 

UNION 

SELECT name 
FROM user 
WHERE id in (6,1) 
GROUP BY name 
HAVING COUNT(DISTINCT(ID)) >= 2 
+0

泰姬梅塔......其工作回報用戶...... – Yogesh

+0

很高興我能幫上忙.. –

0
SELECT `name` 
FROM `task` 
WHERE (`id` = 1 AND `id`= 6) OR (`id` = 0 AND `id`= 6) 
GROUP BY `name` ;