【发布时间】:2013-01-12 12:37:23
【问题描述】:
我有这样的情况:
表 1:pk1 int、pk2 int、string1、string2、string3
表2: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 这样强大的数据系统可以在单个查询中完成此操作。
该查询在显示的示例中应该是什么样子?
【问题讨论】:
标签: postgresql