我无法确定此查询。我使用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语句的列名。
此外,它只返回一个或另一个。如果在两个列中均找到该值,我希望这两个列都具有这两个值。
肯定有人知道如何选择语句结合起来,得到正确的结果。由于联合不正确,哪些子查询会起作用呢? – 2012-03-09 01:51:55