0
不需要行我有2個表隱藏重複數據或查詢
users
id, name, added_date
1, 'name1', '2016-08-23 21:01:59'
2, 'name2', '2016-08-23 21:01:59'
3, 'name3', '2016-08-23 21:01:59'
4, 'name4', '2016-08-23 21:01:59'
comments
day_added, comment, user_id
'Mon' , 'comment1', 3
'Tue' , 'comment2', 3
'N/A' , 'comment3', 3
'N/A' , 'comment4', 4
以下是我使用的查詢。
SELECT id
, name
, DATE_FORMAT(users.added_date,'%a') today
, added_date
, day_added
, comment
, user_id
FROM users
LEFT
JOIN comments
ON users.id = comments.user_id
AND (
DATE_FORMAT(users.added_date,'%a') = comments.day_added
OR
comments.day_added = 'N/A'
)
這導致像以下
id, name, today, added_date, day_added, comment , user_id
1, 'name1', 'Tue' , '2016-08-23 21:01:59', NULL , NULL , NULL
2, 'name2', 'Tue' , '2016-08-23 21:01:59', NULL , NULL , NULL
3, 'name3', 'Tue' , '2016-08-23 21:01:59', 'Tue' , 'comment2', 3
3, 'name3', 'Tue' , '2016-08-23 21:01:59', 'N/A' , 'comment3', 3
4, 'name4', 'Tue' , '2016-08-23 21:01:59', 'N/A' , 'comment4', 4
我想我的結果等
id, name, today, added_date, day_added, comment , user_id
1, 'name1', 'Tue' , '2016-08-23 21:01:59', NULL , NULL , NULL
2, 'name2', 'Tue' , '2016-08-23 21:01:59', NULL , NULL , NULL
3, 'name3', 'Tue' , '2016-08-23 21:01:59', 'Tue' , 'comment2', 3
4, 'name4', 'Tue' , '2016-08-23 21:01:59', 'N/A' , 'comment4', 4
問題是USER_ID 3,它有兩行與day_added星期二和 'N/A':
我只想要1行user_id 3
如果與ADDED_DATE day_added比賽則僅包括數據,不包括與 'N/A'
SQL小提琴是這裏
http://sqlfiddle.com/#!9/ea5e39/2/0
幫助將高度讚賞
由於數據Advance
太棒了!,解決了我的問題,乾淨利落。非常感謝 !。 –