在SELECT语句中,我想在WHERE子句中重用计算列.有没有办法在SQLserver中这样做?
简化示例:
工作,但重复计算:
SELECT field1, concat(field2, field3) AS calc_field
FROM MyTable
WHERE concat(field2, field3) LIKE 'A%'
Run Code Online (Sandbox Code Playgroud)
期望:
SELECT field1, concat(field2, field3) AS calc_field
FROM MyTable
WHERE calc_field LIKE 'A%'
Run Code Online (Sandbox Code Playgroud) 我遇到了一些代码问题,但找不到错误.我正在尝试计算下面草图上用红色标记的距离.
我的代码返回值:-41.63
正确的价值是:3.75
我的代码:
return round(6.5 * tan(30),2);
Run Code Online (Sandbox Code Playgroud)
基于:http: //php.net/manual/en/function.tan.php
我认为这将是一个简单的任务,但我撞墙 - 看不到错误.我希望你们中的一些人能指出我正确的方向.
谢谢,
肯尼斯
我正在编辑Sublime Text 3中保存的.php文件(构建3126 for mac),当我尝试使用cmd+ 注释某些内容时/,Sublime会插入标准HTML注释
<!-- -->
Run Code Online (Sandbox Code Playgroud)
当我尝试使用DocBlocks,/**/,#或//时,Sublime不会注释掉.
我已经检查过,Sublime目前已经设置为PHP语法,应该是这样.Build System设置为Automatic.有没有人经历过这个,你知道修复吗?我在StackExchange的任何地方都找不到这个问题,我在Google上找到的唯一一件事就是:
https://forum.sublimetext.com/t/cant-set-syntax-to-php/7478/8
由于他们的症状与我的症状并不完全相符,我想我会先问到这里,直到清除我不太了解的缓存.
设置一个新的 CodeIgniter 3 项目我遇到了数据库访问问题。访问我的主页时,我得到:
'Unknown column 'STRICT_ALL_TABLES,' in 'field list'
Run Code Online (Sandbox Code Playgroud)
...当 Codeigniter 初始化数据库时触发。后mysqli/mysqli_driver.php电话parent::__construct()
经过一些代码和谷歌研究后,我不清楚为什么会发生这种情况。任何提示?建议?
一些细节
使用相同的数据库连接,我在同一台开发计算机上成功使用了其他 PHP 设置。(使用较旧的 codeigniter 版本)
我使用 CodeIgniter 3.1.10,与ci3-fire-starter一起安装
我的数据库配置:
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => '127.0.0.1',
'username' => 'my_username',
'password' => 'my_password',
'database' => 'my_db',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '', …Run Code Online (Sandbox Code Playgroud) 我需要更新一个表,以便同一“组”(示例中为“代码+颜色”)的行在该组中获得一个递增的数字。每个组的行应编号为1、2、3 ...
id | Code | Color |Required_New_field
--------------------------
1231 |001 |Red | 1
1232 |001 |Red | 2
1233 |002 |Red | 1
1234 |001 |Red | 3
1235 |001 |Blue | 1
1236 |002 |Red | 2
1237 |001 |Blue | 2
1238 |002 |Blue | 1
1239 |002 |Red | 3
...
Run Code Online (Sandbox Code Playgroud)
在示例中,Code = 001和Color = Red的行应分别获得1、2、3。
我尝试了使用子查询和“分组依据”的几种方法,但是我意识到这实际上不是正确的方法。
任何提示将不胜感激!
编辑: ROW_NUMBER()个答案很棒!可悲的是,我必须在旧的sql_server 2000版本上运行它。ROW_NUMBER()在2005年及更高版本上可用(有关详细信息,请参见此处)。还有其他选择吗?
php ×3
sql ×2
sql-server ×2
formula ×1
math ×1
mysql ×1
mysqli ×1
sublimetext3 ×1
t-sql ×1
trigonometry ×1