『MySQL』多表之间字段的匹配

1 $sql=$empire->query("select table.title,lianxi,table.dizhi,table.id from table,table1 where table1.sid like concat( '%|',table.id,'|%') and table1.id=".$navinfor[id]."");2 while($r=$empire->fetch($sql))3 {4 $title=$r['title'];5 $lianxi=$r['lianxi'];6 $dizhi=$r['dizhi'];7 }

如下:两个表info,tag

info 表

id name

1 aa和bb

2 bb和cc

3 ee和dd

tag表

1 aa

2 bb

tag表中 name 匹配 info 中的name

这样写就有问题: select info.id, info.name from tag,info where info.name like ‘%'+tag.name+'%'

正确:

select info.id, info.name from tag,info where info.name like concat( '%',tag.name, '%')

时间: 2024-09-22 07:01:34

『MySQL』多表之间字段的匹配的相关文章

MySQL多表之间字段的匹配实现代码_Mysql

复制代码 代码如下: $sql=$empire->query("select table.title,lianxi,table.dizhi,table.id from table,table1 where table1.sid like concat( '%|',table.id,'|%') and table1.id=".$navinfor[id].""); while($r=$empire->fetch($sql)) { $title=$r['tit

mysql update 根据表中字段查询另一张表更新更新

问题描述 mysql update 根据表中字段查询另一张表更新更新 mysql有两张表, 班级表class,包含 | id | name | | 1 | 一班 | | 2 | 二班 | 学生表student,其中classId为空,className有值并对应class表中的name | id | name | classId | className | | 1 | 一班 | | 一班 | | 2 | 二班 | | 二班 | | 3 | 一班 | | 一班 | | 4 | 二班 | | 二班

MySQL中大数据表增加字段的实现思路

前言 增加字段相信大家应该都不陌生,随手就可以写出来,给 MySQL 一张表加字段执行如下 sql 就可以了: ALTER TABLE tbl_tpl ADD title(255) DEFAULT '' COMMENT '标题' AFTER id; 但是线上的一张表如果数据量很大呢,执行加字段操作就会锁表,这个过程可能需要很长时间甚至导致服务崩溃,那么这样操作就很有风险了. 那么,给 MySQL 大表加字段的思路如下: ① 创建一个临时的新表,首先复制旧表的结构(包含索引) create tab

mysql把一个表某个字段的内容复制到另一张表的某个字段的SQL语句写法

 有时候,我们需要复制某个字段一整列的数据到另外一个新的字段中,或是需要把某个表的某个字段的值跨表复制到另一个表中的某个字段,本文就罗列了一些SQL语句写法,需要的朋友可以参考下   需求:把一个表某个字段内容复制到另一张表的某个字段.   实现sql语句1:     代码如下: UPDATE file_manager_folder f1 LEFT OUTER JOIN file_manager_folder f2      ON f1.name = f2.name AND f2.parentI

『MySQL』UPDATE-替换字段内部分内容

要替换某一个字段中的部分内容,可以用update 语句: UPDATE 表名 SET 字段名= REPLACE( 替换前的字段值, '替换前关键字', '替换后关键字' ) WHERE 字段名 REGEXP "替换前的字段值"; 比如替换标题里面的产品价格就是用这个方法 1 UPDATE dede_archives SET title= REPLACE( title, 155, 170 );2 UPDATE dede_archives SET title= REPLACE( title

『MySQL』时间差

1 DATEDIFF(now(),start) <=7 now() 当前时间 start 数据库时间字段 表示相关7天时间.

SQL SERVER 表与表之间 字段一对多sql语句写法

表A A1 A2 A3 A4 01 02 03 04 03 04 01 02 表B B1 B2 01 张三 02 李四 03 王五 04 赵六 显示结果 A1 A2 A3 A4 张三 李四 王五 赵六 王五 赵六 张三 李四 效果图: sql语句如下 SELECT (SELECT B2 FROM B WHERE B1=A1) AS A1, (SELECT B2 FROM B WHERE B1=A2) AS A2, (SELECT B2 FROM B WHERE B1=A3) AS A3, (SE

『MySQL』时间戳转换

1 NOW() //当前时间2 SYSDATE() //当前时间3 CURRENT_TIMESTAMP 4 以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回当前的日期和时间,取决于函数是在一个字符串还是在数字的上下文被使用. 5 mysql> select NOW(); 6 -> '1997-12-15 23:50:26' 7 mysql> select NOW() + 0; 8 -> 19971215235026 1 UNIX_TIMESTAMP

MySQL中使用表别名与字段别名的基本教程_Mysql

MySQL 表别名(Alias)SQL 表别名 在 SQL 语句中,可以为表名称及字段(列)名称指定别名(Alias),别名是 SQL 标准语法,几乎所有的数据库系统都支持.通过关键字 AS 来指定. 表别名语法: SELECT column FROM table AS table_alias 上述 SQL 执行后的效果,给人感觉是对 table_alias 表进行查询,但实际上对单表做简单的别名查询通常是无意义的.一般是对一个表要当作多个表来操作,或者是对多个表进行操作时,才设置表别名. 表别