Tomasz Myrta wrote:
Dnia 2004-02-03 07:28, Użytkownik Russell Shaw napisał:

Hi,
I'm using postgresql 7.3.4 on debian. I get bad results
from a two-table left outer join.

First table: select * from descriptions;

   desc_id | description
  ---------+-------------
    909097 | cap
    107890 | resis
    223940 | ic
    447652 | electro
  (4 rows)


Second table: select * from parts;


   part_id | desc_id | mounting | man_id
  ---------+---------+----------+--------
         2 |  107890 | SMD      |      7
         1 |  909097 | LEADED   |      1
         3 |  223940 | LEADED   |      8
  (3 rows)


Join:
SELECT parts.*, d.description, d.desc_id FROM parts p LEFT OUTER JOIN

^^^^^^^^^^^^^^^
You can't access "parts" here - you used table alias, so the only way to access it is using "p.*"


descriptions d ON p.desc_id=d.desc_id;

NOTICE: Adding missing FROM-clause entry for table "parts"

Rewrite your query and show your results.

Thanks, it works now:)


SELECT p.*, d.description, d.desc_id FROM parts p LEFT OUTER JOIN descriptions d ON p.desc_id=d.desc_id;

   part_id | desc_id | mounting | man_id | description | desc_id
  ---------+---------+----------+--------+-------------+---------
         2 |  107890 | SMD      |      7 | resis       |  107890
         3 |  223940 | LEADED   |      8 | ic          |  223940
         1 |  909097 | LEADED   |      1 | cap         |  909097
  (3 rows)

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Reply via email to