gpt4 book ai didi

mysql - 对于一个表中的每一行,另一个表中只有一行(mysql)

转载 作者:行者123 更新时间:2023-11-29 04:58:59 25 4
gpt4 key购买 nike

我使用 MySQL 5.1。我有两个表 T1(hash, value) 和 T2(hash, value),我使用 hash 连接它们。它们包含:

----
T1
----
1 A
2 B
3 C
4 D

----
T2
----
1 E
1 F
3 G
4 H

我的目的是从 T1 获取所有与 T2 的任何行有联系的行。

我尝试这样做:

SELECT T1.* FROM T1 LEFT JOIN T2 ON T1.hash = T2.hash;

但是我失败了,输出中有两个来自 T1 的“A”。我哪里错了?

最佳答案

SELECT T1.hash, T1.value 
FROM T1
WHERE EXISTS(
SELECT *
FROM T2
WHERE T1.hash = T2.hash);

如果你想使用 JOIN 则需要是

SELECT DISTINCT T1.hash, T1.value
FROM T1
INNER JOIN T2 ON T1.hash = T2.hash;

在 SQL Server 中,第一个更有效。不过我不知道 MySQL。

关于mysql - 对于一个表中的每一行,另一个表中只有一行(mysql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3701464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com