如何在mysql查询中选择、匹配和返回值?
P粉986028039
P粉986028039 2024-04-02 17:18:57
0
1
478

我有两张桌子、转会桌和俱乐部桌。

这是表传输:

id 名字 姓氏 来自俱乐部 去俱乐部 价格 来自backnumber 返回号码
0 示例1 示例2 EX3 EX4 示例5 示例6 示例7

这是桌子俱乐部:

id 缩写 全名
0 EX3 示例3
1 EX4 示例4

我想从转账表中获取一行,获取 fromclub,将其与 Clubs 中的缩写相匹配,从该行获取全名,并将其添加到响应中。我想对 toclub 专栏做同样的事情。然后我想对表传输中的每隔一行重复一次。

为了简单起见,这是我的预期结果:

id 名字 姓氏 来自俱乐部 去俱乐部 价格 来自backnumber 返回号码 来自俱乐部全名 toclub全名
0 示例1 示例2 EX3 EX4 示例5 示例6 示例7 示例3 示例4

我似乎找不到一种方法来构建一个查询,在不获得大约 512 行结果的情况下执行此操作,即使我目前只有 8 行结果。

SELECT *
FROM transfers,
(SELECT clubs.fullname FROM transfers, clubs WHERE clubs.abbr = transfers.fromclub) AS fromclubfullname,
(SELECT clubs.fullname FROM transfers, clubs WHERE clubs.abbr = transfers.toclub) AS toclubfullname

它返回 512 行和两列(称为 fullname),而不是一列 fromclubfullname 和 toclubfullname。

P粉986028039
P粉986028039

全部回复(1)
P粉827121558

您可以通过左连接来做到这一点 -

SELECT 
     transfers.*,
     c1.fullname as fromclubfullname,
     c2.fullname as toclubfullname FROM `transfers`
LEFT JOIN clubs c1 ON (c1.abbr = transfers.fromclub)
LEFT JOIN clubs c2 ON (c2.abbr = transfers.toclub)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板