gpt4 book ai didi

PostgreSQL,在不使用辅助键的情况下查询两个(或更多)表

转载 作者:行者123 更新时间:2023-11-29 14:23:12 33 4
gpt4 key购买 nike

我有这样的情况:

Table1: pk1 int, pk2 int, string1, string2, string3
Table2: pk3 int, string4, string5, string6

第一个表中的 pk2 int 与第二个表中的 pk3(索引)相同。创建表时我没有使用辅助键,现在我必须尽可能在单个查询中查询这两个表。到目前为止,我用两个查询来做到这一点:

SELECT pk1, pk2, string1, string2, string3 
FROM table1
WHERE string1 ILIKE 'a%'

然后,循环遍历结果:

SELECT pk3, string4, string5, string6 
from table2 WHERE pk3=" & Cint(reader.GetValue(1))

注意:reader.GetValue(1) = 来自第一个表的 pk2)

最后我得到了所需的本地结果,例如:

1, string1, string2, string3, string4, string5, string6

我在第二个查询中使用 ANY 或 IN 简化了一点,但我相信像 PostgreSQL 这样强大的数据系统可以在单个查询中完成此操作。

该查询在显示的示例中应该是什么样子?

最佳答案

SELECT t1.pk1, 
t1.pk2,
t1.string1,
t1.string2,
t1.string3,
t2.string4,
t2.string5,
t2.string6
FROM table1 t1
join table2 t2 on t1.pk2 = t2.pk3
WHERE t1.string1 ILIKE 'a%'

关于PostgreSQL,在不使用辅助键的情况下查询两个(或更多)表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14293380/

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