作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 MySQL
进行查询以保存返回的所有对象,但我想根据 WHERE
block 的语句来识别这些对象,即 if确定对象以满足特定特征,我想创建一列,并在该列中,如果对象满足或不满足这些特征,则在该对象对应的行中分配值 0 或 1。
这是我的脚本:
SELECT
s.id, al.ID, al.j, al.k, al.r, gal.i
FROM
datas as al
WHERE
AND s.id = al.ID
AND al.j between 1 and 1
AND al.k BETWEEN 15 and 16
AND al.r BETWEEN 67 and 72
上面的脚本运行良好,我可以保存它返回的所有对象。
所以,我想知道是否有办法在上面的查询中的 WHERE
block 中添加以下语句,
( Flags & (dbo.environment('cool') +
dbo.environment('ok') -
dbo.environment('source')) ) = 25
and ((al_pp x al_pp1)-0.5/3=11
并在保存的表中创建的新列中用 0 或 1 确定满足或不满足这些条件的对象。
我阅读了一些关于此的教程,并看到了一些使用 IF
、CASE
、ADD COLUMN
或 WHEN
的尝试,但这些都没有解决。
提前致谢
最佳答案
MySQL有if函数,见here
因此您可以简单地在查询中使用它:
SELECT IF(( Flags & (dbo.fPhotoFlags('SATURATED') +
dbo.fPhotoFlags('BRIGHT') +
dbo.fPhotoFlags('EDGE')) ) = 0
and petroRad_r < 18
and ((colc_u - colc_g) - (psfMag_u - psfMag_g)) < -0.4
, 1 --// VALUE IF TRUE
, 0 --// VALUE IF FALSE
) as conditional_column, ... rest of your query
关于mysql - 在 WHERE block 中使用条件在表中添加列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40774488/
我是一名优秀的程序员,十分优秀!