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