我無法確定此查詢。我使用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