sql 根据bm获取的一条数据某个字段里面有多个编码,在另外外一张表里面查询该编码记录
时间: 2024-10-22 13:25:40 浏览: 29
在SQL中,如果你想根据`bm`字段获取到一条数据,其中这个字段包含多个编码,然后在另一张表中查找每个编码对应的记录,可以使用`UNION ALL`或者多次`INNER JOIN`结合`IN`子句。这里假设我们有两个表,一个是`table1`,`bm`字段在`table1`,另一个是`table2`,存储编码和对应信息。
如果你想要查询所有编码的信息,无论是否存在于`table1`:
```sql
SELECT table2.*
FROM table2
WHERE table2.code IN (
SELECT bm
FROM table1
)
```
如果`table1`中的每个编码只匹配`table2`的一条记录,并且你想获取它们的相关信息:
```sql
SELECT t1.bm, t2.*
FROM table1 t1
JOIN table2 t2 ON t2.code = t1.bm
```
如果你想得到未找到编码的结果,则应先创建一个临时表或集合:
```sql
WITH encoded_codes AS (
SELECT DISTINCT bm FROM table1
)
SELECT e.bm, t2.*
FROM encoded_codes e
LEFT JOIN table2 t2 ON t2.code = e.bm
```
阅读全文