【发布时间】:2012-03-09 00:37:25
【问题描述】:
我无法弄清楚这个查询。我正在使用 PHP 和 postgresql 9.1。我希望能够根据另一个字段中的条件从行中选择字段,就像这样。
表A 有列:
vid, title, description, col4, col5, col6, col7
表B 有列:
pid, title, description, colx, coly
我想从两个表中搜索title 和description,如果找到匹配项,则返回找到它的行的vid 或pid。
到目前为止我已经尝试过:
SELECT vid FROM tableA WHERE title LIKE %somevalue%
UNION
SELECT pid FROM tableB WHERE title LIKE %somevalue%
问题是当我这样做时,它会找到 tableB 的匹配项,它返回正确的值但分配给数组中的 vid 列。
php数组显示
Array ( [0] => Array ( [vid] => 100007 ) )
应该是什么时候
Array ( [0] => Array ( [pid] => 100007 ) )
它没有给我正确的表格列名。它只给了我第一个选择语句的列名。
此外,它只返回一个或另一个。如果在两者中都找到了值,我想要两个列的值。
【问题讨论】:
-
肯定有人知道如何组合 select 语句以获得正确的结果。由于 union 不正确,哪些子查询可以代替?
标签: php sql postgresql