请教mysql存储过程分割字符串做关联

问题描述

请教mysql存储过程分割字符串做关联
假如有两个表
表一:
id pid
1 pid1pid2
2 pid2pid5pid6
3 pid3
4 pid4pid1
......

表二:
pid pname
pid1 aaa
pid2 bbb
pid3 ccc
pid4 ddd
pid5 eee
pid6 ggg
......

假如我想要通过存储过程计算表1中包含pname=ddd的记录的行数,按这样的表结构,请教是否可以实现?怎么实现呢?

解决方案

把你第一个表拆成以下形式。
1 pid1
2 pid2
2 pid2
2 pid5
2 pid6
...

解决方案二:
select * from table1 where pid like concat('%''pid4''%')

时间: 2024-12-23 18:52:11

请教mysql存储过程分割字符串做关联的相关文章

sql server-sqlserver存储过程 分割字符串再组装

问题描述 sqlserver存储过程 分割字符串再组装 有三个字符串.比如.A="440,441,442,443",B="a,b,c,d" ,C="1,2,3,4".三个字符串里面的值是一一对应的. 在存储过程里面如何把这三个字符串分割之后然后组装成 440,a,1;441,b,2;442,c,3;443,d,4; 最好有一个规范的.多谢了. 解决方案 CREAT PROCEDURE [dbo].[Pro_STR] @A nvarchar(200

mysql存储过程如何遍历字符串的每个字符,并把每个字符转换成int(假设都是数字字符)?

问题描述 mysql存储过程如何遍历字符串的每个字符,并把每个字符转换成int(假设都是数字字符)? 其实我就是想在存储过程中实现大整数的乘法,具体的算法参见http://blog.csdn.net/yeruby/article/details/12023733 怎么把这个算法变成mysql存储过程?求大侠解答.

mysql存储过程详细教程

记录MYSQL存储过程中的关键语法: DELIMITER //  声明语句结束符,用于区分;CREATE PROCEDURE demo_in_parameter(IN p_in int)  声明存储过程BEGIN .... END  存储过程开始和结束符号SET @p_in=1   变量赋值 DECLARE l_int int unsigned default 4000000;  变量定义 什么是mysql存储例程? 存储例程是存储在数据库服务器中的一组sql语句,通过在查询中调用一个指定的名称

mysql存储过程总结详解

1.      存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它. 一个存储过程是一个可编程的函数,它在数据库中创建并保存.它可以有SQL语句和一些特殊的控制结构组成.当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的.数据库中的存储过程可以

MySQL存储过程详解 mysql 存储过程

mysql存储过程详解 1.      存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它. 一个存储过程是一个可编程的函数,它在数据库中创建并保存.它可以有SQL语句和一些特殊的控制结构组成.当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的

mysql存储过程入门

mysql存储过程详解 1.     存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它. 一个存储过程是一个可编程的函数,它在数据库中创建并保存.它可以有SQL语句和一些特殊的控制结构组成.当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的.数

mysql存储过程详解_Mysql

1.存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它. 一个存储过程是一个可编程的函数,它在数据库中创建并保存.它可以有SQL语句和一些特殊的控制结构组成.当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的.数据库中的存储过程可以看做是对编程中面

mysql存储过程中的异常处理

定义异常捕获类型及处理方法:     DECLARE handler_action HANDLER          FOR condition_value [, condition_value] ...          statement            handler_action:          CONTINUE        | EXIT        | UNDO            condition_value:          mysql_error_code  

MySQL存储过程实例教程

MySQL存储过程实例教程 MySQL 5.0以后的版本开始支持存储过程,存储过程具有一致性.高效性.安全性和体系结构等特点,本节将通过具体的实例讲解PHP是如何操纵MySQL存储过程的. 实例261:存储过程的创建 这是一个创建存储过程的实例 录像位置:光盘mingrisoft9?lt;/p> 实例说明 为了保证数据的完整性.一致性,提高应用的性能,常采用存储过程技术.MySQL 5.0之前的版本并不支持存储过程,随着MySQL技术的日趋完善,存储过程将在以后的项目中得到广泛的应用.本实例将介