【问题标题】:Adodb: Postgresql select from two tables but return one set of resultsAdodb:Postgresql 从两个表中选择但返回一组结果
【发布时间】:2010-02-22 05:17:42
【问题描述】:

我是 SQL 新手,有两个保存数据的表(我正在使用 Adodb)。它们都有将它们连接在一起的键,所以我想从第一个表中选择一个名称,如果该名称在第二个表中有父 ID。我正在使用:

$db->GetCol("SELECT x_ast.name FROM x_ast, x_ast_tree WHERE x_ast_tree.parent='$parent_id'");

这会返回一个包含正确数据的数组,但它存在两次。 (我假设是因为我要求它来自两个表):

Array
(
    [0] => Trash
    [1] => Users
    [2] => admin
    [3] => Trash
    [4] => Users
    [5] => admin
)

如何根据另一个表中的数据从一个表中选择一个字段,但只返回一组结果?我做错了什么?

【问题讨论】:

    标签: php sql postgresql adodb


    【解决方案1】:

    问题是你没有设置连接两个表的标准,所以它在做一个交叉连接。

    SELECT x_ast.name
    FROM x_ast
    INNER JOIN x_ast_tree
      ON x_ast.somefield=x_ast_tree.somefield
    WHERE x_ast_tree.parent='$parent_id'
    

    【讨论】:

    • 漂亮,成功了!我知道加入,只是还不了解它们。谢谢!
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多