我有两张桌子,categories和movies.
在movies表格中我有一个专栏categories.该列包含电影适合的类别.类别是以逗号分隔的ID.
这是一个例子:
Table categories {
-id- -name-
1 Action
2 Comedy
4 Drama
5 Dance
}
Table movies {
-id- -categories- (and some more columns ofc)
1 2,4
2 1,4
4 3,5
}
Run Code Online (Sandbox Code Playgroud)
现在回答实际问题:是否可以执行从电影表中排除类别列的查询,而是从类别表中选择匹配的类别并将它们返回到数组中?就像一个连接,但问题是有多个用逗号分隔的类别,是否有可能做某种正则表达式?
我正在寻找一个sql语句来计算字符串中唯一字符的数量.
例如
3333333333 -> returns 1
1113333333 -> returns 2
1112222444 -> returns 3
Run Code Online (Sandbox Code Playgroud)
我用REGEX和mysql-string-functions做了一些测试,但是我找不到解决方案.
我有两张桌子
表格1
ID NAME
1 Person1
2 Person2
3 Person3
Run Code Online (Sandbox Code Playgroud)
表2
ID GROUP_ID
1 1
2 2,3
Run Code Online (Sandbox Code Playgroud)
上面所有列中的ID引用相同的ID(示例 - 部门)
我的预期输出(通过加入两个表格)
GROUP_ID NAME
1 Person1
2,3 Person2,Person3
Run Code Online (Sandbox Code Playgroud)
有一个查询,我可以实现这一点.非常感谢您的帮助.谢谢.
我有字符串asdasdwdfef,rgrgtggt,weef,我希望输出像表格式,如下所示
id decription
1 asdasdwdfef
2 rgrgtggt
3 weef
Run Code Online (Sandbox Code Playgroud)
为此,我在这里创建了一个程序是我的程序
DELIMITER ;;
CREATE Procedure Split(_RowData text, _Delimeter text)
BEGIN
DECLARE _Iterator INT default 1;
DECLARE _FoundIndex INT;
DECLARE _Data varchar(255);
SET _FoundIndex = LOCATE(_Delimeter,_RowData);
DROP TABLE IF EXISTS _RtnValue;
CREATE temporary TABLE _RtnValue(ID INT AUTO_INCREMENT NOT NULL, description text, primary key(ID));
WHILE _FoundIndex > 1 DO
INSERT INTO _RtnValue (description)
SELECT
_Data = LTRIM(RTRIM(SUBSTRING(_RowData, 1, _FoundIndex - 1)));
set _RowData = SUBSTRING(_RowData, _FoundIndex + LENGTH(_Delimeter) / 2, LENGTH(_RowData)); …Run Code Online (Sandbox Code Playgroud)