我一直在搜索一个查询,以获取某个类别id中的第一个空闲位置id。到目前为止,我已经看到了带有左连接之类的查询,但是找不到where子句。所以,我的问题是在添加产品的类别中找到第一个自由位置。
例子:
id_category id_product position
100 10 0
100 11 1
100 12 3
100 13 4
100 14 5
100 15 7
100 16 8
100 17 9
所以我在找幸运数字2,其中id\u category=100。
就我所知。。
SELECT MIN(cp.id_category + 1) AS position FROM ps_category_product cp
LEFT JOIN ps_category_product cp1 ON cp.id_category = cp1.id_category
WHERE cp1.position IS NULL
2条答案
按热度按时间yduiuuwa1#
你能做到的
4c8rllxm2#
假设一个可能的位置可以是表中最小位置和最大位置之间的任何位置,并且数据库中的某个位置有一个具有顺序id号的表(在下面的示例中,我有日期),那么您可以创建一个类别可以拥有的所有位置的列表,然后排除它们确实拥有的位置。例如
结果