擅长:python、mysql、java
<p>看起来只需要几处改动。看起来您需要一个匹配<strong><code>v1</code></strong>到<em>的谓词</em><strong><code>a1</code></strong><em>或</em><strong><code>a2</code></strong>。这可以用这样的谓词来完成(作为一个例子):</p>
<pre><code> WHERE B.v1 IN (A.a1,A.a2)
</code></pre>
<p>另一个更改是返回<strong><code>A.a3</code></strong>而不是<strong><code>A.a2</code></strong>,这只是更改为SELECT列表中的列引用。你知道吗</p>
<p>事实上,它看起来比那复杂一点。在示例输出中,您似乎希望返回<strong><code>A.a1</code></strong>而不是<strong><code>B.v1</code></strong>。你知道吗</p>
<hr/>
<p>(我个人倾向于将谓词从连接的<code>WHERE</code>子句移到<code>ON</code>子句。我还希望省略<code>INNER</code>关键字。但这两个更改实际上并不影响查询。)</p>
<pre><code> SELECT B.NO
, A.a1 AS V1
, A.a3 AS V2
FROM A
JOIN B
ON B.v1 IN (A.a1,A.a2)
</code></pre>