the*_*ays 5 sql database postgresql select
假设我有这样的第一张桌子
分支表
|name |description|
|123456ABC|FOO |
|553646DEF|FO2 |
Run Code Online (Sandbox Code Playgroud)
和第二张桌子这样
余额表
|name|description|
|ABC |oof |
|DEF |2of |
Run Code Online (Sandbox Code Playgroud)
我想查询余额表,其中每一行都包含分支表中的名称。例如,分支表中的“123456ABC”,我想从余额表中获取“ABC”行
我怎么能做到这一点?到目前为止,我已经尝试过这个查询,但没有运气
select * from Balance
where name like (
SELECT `name` FROM Branch
);
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?
你应该转换了balance的名称LIKE模式:
SELECT * FROM Balance
WHERE (
SELECT `name` FROM Branch
) LIKE '%' || name;
Run Code Online (Sandbox Code Playgroud)
连接可能看起来更具可读性:
SELECT b.* FROM Balance b JOIN Branch r ON r.name LIKE '%' || b.name;
Run Code Online (Sandbox Code Playgroud)