2
我所得到的是这两个表: 加入两个表没有重复,并用标记
一个前缀可以通过无限数量的链接中。我是从click_links
表接收如果id
的列表作为一个paramater。
现在我的目标是选择前缀列表,并以纪念那些被该链接列表中。
我试过什么:我最好的尝试是这样的:
select p.id, p.contents, c.id,
case
when (c.id in (544,545...))
then 1
else 0
end as isused
from prefixes p
join click_links c on c.prefix_id = p.id
,但是这不是那么好,“如果它是由许多环节的原因也有prefix
重复。
我怎样才能前缀没有重复,并表示是否正通过列表中的链接至少一个ISED一个标记(如果你想旗)名单?
编辑 与此查询结束:
SELECT distinct(p.id), p.contents,
IF(c.id IS NOT NULL, 1, 0) AS isused
FROM prefixes p
LEFT JOIN (SELECT DISTINCT (prefix_id), id
FROM click_links WHERE id IN(544, 545...)
)c
ON c.prefix_id = p.id;
这是接近完美=),但有一个错误:这:'SELECT DISTINCT(prefix_id),id'起作用。但是...在此'(544545 ...)'名单scecified我有许多行。 – k102 2012-07-26 09:40:37
稍微修改您的解决方案,它在我的编辑 – k102 2012-07-26 10:17:54