mysql中,T1表中列noun_ids存储了字符串1,2,3;另外一个表T2存储的是列为id,name;怎么关联查询返回1,2,3字符串对应的name
时间: 2024-02-20 11:58:00 浏览: 72
sql多表关联查询--按照文本例子即可
可以使用MySQL的字符串拆分函数和JOIN语句来实现。
假设T1表的结构为:
```
CREATE TABLE T1 (
id INT PRIMARY KEY,
noun_ids VARCHAR(255)
);
```
T2表的结构为:
```
CREATE TABLE T2 (
id INT PRIMARY KEY,
name VARCHAR(255)
);
```
然后可以使用FIND_IN_SET函数和JOIN语句来关联查询:
```
SELECT T2.name
FROM T1
JOIN T2 ON FIND_IN_SET(T2.id, T1.noun_ids) > 0
WHERE T1.id = 1;
```
其中,FIND_IN_SET(T2.id, T1.noun_ids) > 0 表示在T1表中的noun_ids列中查找T2表中的id列对应的值是否存在,如果存在,则返回对应的name列值。
需要注意的是,使用字符串拆分函数(FIND_IN_SET)会影响查询性能,因此在实际应用中需要考虑数据量和查询效率。
阅读全文