草庐IT

where-clause

全部标签

mysql - 如何在where子句中使用case

我只想获取status=1条记录。但是我的表中没有状态列。所以我使用CASE...WHEN...THEN推导出值。但是当我尝试在where子句中使用case时,它​​显示语法错误。我的问题SELECTSQL_CALC_FOUND_ROWS*,CASEWHENquantity>num_usedAND(CURDATE()BETWEENcoupon_start_dateANDcoupon_end_date)THEN'1'ELSE'0'ENDASSTATUSFROMtable_coupon_codeWHERE(CASEWHENquantity>num_usedAND(CURDATE()BETW

php - 在 codeigniter 中,我如何使用 where 子句进行连接

所以我有两个表,我想从表1中获取所有满足where子句条件的行,然后根据连接条件将它们与表2连接起来。这里是示例表:table1:col1col2col31aval12bval23cval3table2:col1col31someval12someval23someval3现在我想获取表1中col1=2的所有行,并将这些行与表2中的行连接起来,其中table2.col1=table1.col1。这有意义吗? 最佳答案 自从我写CI以来已经有一段时间了,但是根据thisdocspage,您的解决方案可能如下所示:$this->db->

mysql WHERE SET 数据类型包含项目

我有一个表,其中一个字段使用SET数据类型,并检查该字段是否包含我使用的特定元素SELECT*FROMtableWHEREmysetLIKE%value%;这在大多数情况下都有效,但其中两个潜在值具有相同的词,即集合中的一个可能元素是Poodle,另一个是ToyPoodle。如果我这样做SELECT*FROMtableWHEREmysetLIKE%Poodle%;它返回所有包含Poodle或ToyPoodle的行。我希望它仅在该字段包含Poodle时返回。如果我删除通配符,那么它只会返回只有Poodle的行。所以基本上,如果表格是:id|myset-------------------

mysql - "Where"语句 : contains a certain substring

我正在使用MySQL。我的数据库中有一个car表,该表中有一个name列。假设表的name列包含值:+----------+|name|+----------+|AAABB|----------|CCDBB|----------|OOkkBB|----------|PPBCC|----------我想搜索name列值包含“BB”的表,实现这个的SQL命令是什么?我试过了:SELECT*FROMcarWHEREnameLIKE"BB";但它不起作用。附言name列中的值是随机字符串。请不要要求我使用IN(...),因为该列中的值是不可预测的。--------请关闭此问题---------

sql - 在 SQL 查询的 WHERE 子句中使用自定义字段

我的问题与这个非常相似HowtoreferenceacustomfieldinSQL我有以下查询:SELECT*,(SELECTCOUNT(id)FROMcms_store_itemsWHEREspeaker=cms_store_items_speakers.id)AScountFROMcms_store_items_speakersLIMIT0,30我需要添加一个看起来像WHEREcount>0的WHERE子句,但是当我这样做时,我得到错误Unknowncolumn'count'in'whereclause'is无论如何我可以在我的where子句中引用自定义字段而不重复逻辑?我可以将

php - MySQL:where子句错误中的未知列

我有一个PHP脚本,出于某种原因,mysql一直将要选择/插入的值视为一列。这是我的sql查询的示例:$query=mysql_query("SELECT*FROMtutorial.usersWHERE(uname=`".mysql_real_escape_string($username)."`)")ordie(mysql_error());变成:SELECT*FROMtutorial.usersWHERE(uname=`test`)错误是:Unknowncolumn'test'in'whereclause'我也试过:SELECT*FROMtutorial.usersWHEREuna

php - 如何使用 MySQL 和两个 'where' 子句计算最长连胜

这是我最初关于如何calculatethelongestundefeatedstreak的后续问题.我修改了我的数据表以添加“field”列以显示比赛是“主场”还是“客场”:dateresultvenue-----------------------------1980-08-16WH1980-08-19LA1980-08-23WA1980-08-26WH1980-08-30DHandsoon...Ihavebeensuccessfulincalculatingthelongestoverallstreaksthankstomypreviousquestion,butnowI'dlik

在 WHERE 中使用大引号整数时,MySQL 更新不使用索引

我有一个以id作为主键的大表(MyISAM)(MySQL版本5.1.54)。当我在WHERE中使用非常大的QUOTED整数执行以下查询时,它不使用PK索引并且运行非常非常慢(需要几分钟才能完成):updateBIG_TABLEsetsome_value=0whereid='10000000000';如果我删除引号,查询将运行得非常快(正确使用PK索引)。这个跑得很快:updateBIG_TABLEsetsome_value=0whereid=10000000000;如果我不使用大整数值,即使使用引号,查询运行速度也很快:updateBIG_TABLEsetsome_value=0whe

php - MySQL 返回所有带有空字符串的行作为 where 子句

我在调试CodeIgniter事件记录时发现了这个问题,如下所示:$this->db->from("table_name");$this->db->where("field_name","");$result=$this->db->get()->result_array();结果查询是:SELECT*FROM`table_name`WHERE`field_name`=0;//Returnsallrowsintable即使空字符串被强制转换为0,我们也希望得到一个空结果,因为table_name.field_name充满了非空字符串值。但是,我从这个查询中得到了整个表。有谁明白为什么?这

c# - MySQL Split 在 "SELECT WHERE IN"语句中使用

我一直在搜索各种MySQL站点,希望找到能让我改变这个的东西:varparameters="a,b,c,d";//(Couldbeanynumberofcomma-delimitedvalues)进入这个(假设我的参数以某种方式变成你在INblock中看到的值):SELECT*FROMmytableWHEREparametertypeIN('a','b','c','d');但我并没有取得很大的成功!我找到的最好的网站是:dev.mysql.com,它讨论了基于定界符(在我的例子中是',')的字符串拆分,尽管它没有找到任何答案......有谁知道将逗号分隔的字符串拆分为可在此上下文中使用