0
之间的比较值,我已搜查了个遍,但仍然不能写实际工作正确的查询! :|做查询的另一个查询,如果另一个查询不存在返回0和2的查询
我写这篇文章之一,它似乎确定,但它是这么想的工作......
select
s.surf_id,
s.surf_dailyuser,
s.surf_url,
s.surf_cpc,
(if exists(
select surfed_count from `surfed` where s.surf_id = surfed_site and surfed_date = 'today'
) then select surfed_count as surfedcount;
else select 0 as surfedcount; end if
)
from `surfs` s where s.surf_status = 1 and surfedcount < s.surf_dailyuser order by s.surf_rand limit 1
任何建议将是一个很大的帮助:)
表都是这样
次区域资源中心
CREATE TABLE IF NOT EXISTS `surfs` (
`surf_id` int(11) NOT NULL,
`surf_user` int(11) NOT NULL,
`surf_title` varchar(128) CHARACTER SET latin1 NOT NULL,
`surf_url` varchar(500) CHARACTER SET latin1 NOT NULL,
`surf_dailyuser` int(11) NOT NULL,
`surf_cpc` int(11) NOT NULL,
`surf_status` int(11) NOT NULL,
`surf_date` varchar(32) NOT NULL,
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
冲浪
CREATE TABLE IF NOT EXISTS `surfed` (
`surfed_id` int(11) NOT NULL,
`surfed_code` int(11) NOT NULL,
`surfed_user` int(11) NOT NULL,
`surfed_site` int(11) NOT NULL,
`surfed_count` int(11) NOT NULL,
`surfed_date` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
感谢了很多回应,但我面对这个错误:“参考‘surfedcount’不支持(在项目列表中向前引用)” ...当我改变这部分“...然后(选择surfed_count as surfedcount)...”到“...然后(选择surfed_count)...”,我面对这个错误:“未知列'surfed_count'在'字段列表'...',但surfed_count clumn exsists!我甚至尝试使用THEN后重新选择surfed_count,但它不工作太... – wearyminded
请给你的SQL。 – Tharanga
我编辑问题并添加表格结构:) – wearyminded