我的目标

我正在尝试对表A和表B进行联接。

我想列出表A中每条街道上的所有居民。但是,我不想列出表A中的每个人,而是列出表B中每条街道上的所有人。

我尝试过的


A和B的内部加入:仅返回每个地址的第一个人
左加入:返回所有人
右连接:从B返回两个街道,每个地址的第一人称


表A

Fred    123 Fake Street
Bob     456 Any Street
Alice   456 Any Street
Jenny   879 Spring Street
Cassie  879 Spring Street
Spinner 227 Nothing Street
Ranger  227 Nothing Street
Swifty  227 Nothing Street
Loggy   821 Victory Way


表B

227 Nothing Street
456 Any Street


查询结果(某种类型的联接)

Spinner 227 Nothing Street
Ranger  227 Nothing Street
Swifty  227 Nothing Street
Bob     456 Any Street
Alice   456 Any Street

最佳答案

INNER JOIN可以正常工作:

SELECT a.*
FROM tableA a
JOIN tableB b ON b.address = a.address


输出:

name    address
Bob     456 Any Street
Alice   456 Any Street
Spinner 227 Nothing Street
Ranger  227 Nothing Street
Swifty  227 Nothing Street


Demo on dbfiddle

关于mysql - 正确的联接语法以仅连接表A中与表B匹配的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53983063/

10-08 21:09