gpt4 book ai didi

mysql - 如果只有一个结果行,则选择自连接

转载 作者:行者123 更新时间:2023-12-01 00:47:23 25 4
gpt4 key购买 nike

执行表的 SELF JOIN 是否可能/经济(对于这个例子,我的名为 myTable 的表有两列 pkfk), 如果只有一条结果记录返回一条记录?我在想类似下面的东西,但是,only_one_row() 是一个虚构的函数,需要用真实的东西替换:

SELECT fk
FROM myTable as t1
INNER JOIN myTable AS t2 ON t2.fk=t1.fk
WHERE t1.pk=1
AND only_one_row();

例如myTable(id,fk)有如下记录,则只产生一条记录,我选择哪条记录:

1 1
2 1
3 2

但是,如果 myTable(id,fk) 有以下记录,则会产生两个“1”记录,并且选择不应返回任何行:

1 1
2 1
3 2
4 1

我可以使用 PHP 来这样做,但如果可行的话我宁愿只使用 SQL。

最佳答案

使用 HAVING 子句来计算结果。

SELECT fk
FROM myTable as t1
INNER JOIN myTable AS t2 ON t2.fk=t1.fk
WHERE t1.pk=1
HAVING COUNT(*) = 1

关于mysql - 如果只有一个结果行,则选择自连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20424734/

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