select DISTINCT cid,cname,tid from colors c left join tags t on t.tname = c.cname;
颜色
cid cname
1红色
2蓝色
3绿色
标签:
tid tname
1红色
2红色
3蓝色
4绿色
当前结果:
1红1
1 red 2
2 blue 3
3 green 4
预期结果:
1红1
2 blue 3
3 green 4
答案 0 :(得分:3)
此查询应符合您的预期结果
select cid,cname,tid
from colors c
left join tags t on t.tname = c.cname;
group by c.cid
答案 1 :(得分:0)
select
cid, cname, tid
from
colors c
left join
tags t ON t.tname = c.cname
GROUP BY c.cname,c.cid,t.tid;
答案 2 :(得分:0)
GROUP BY标记名称
select DISTINCT cid,cname,tid
from colors c
left join tags t on t.tname = c.cname;
GROUP BY t.name
答案 3 :(得分:0)
我没有mysql试试这个,但这应该对你有所帮助。还有一件事是你不能直接在你的查询中使用tid
来计算它。
select cid, cname, count(tid)
from Color c
left join tags t on t.name = c.cname
GROUP BY cname;
这里是sqlFiddle
答案 4 :(得分:0)
使用group by
select cid,cname,tid
from colors c
left join tags t on t.tname = c.cname
group by cid,cname,tid;