If you define an object using quotes to preserve case, you must always
refer to that object with quotes, ie: productoptions."ProductID".

My recommendation: use underscores in the database
(product_options.product_id). Personally, I wouldn't pluralize the
table names either, but that's just me...

On Wed, Jun 28, 2006 at 03:13:28AM +0000, ALL wrote:
> 
> The following bug has been logged online:
> 
> Bug reference:      2501
> Logged by:          ALL
> Email address:      [EMAIL PROTECTED]
> PostgreSQL version: 8.1
> Operating system:   Windows
> Description:        JOIN and capitial letters in Table Row
> Details: 
> 
> I had a table as like the following named products:
> 
> id    ClientID        ProductID       is_multiqty     is_active
> 1     12345   1000001 1       1
> 2     12345   1000002 0       1
> 
> and another table named productoptions with the following:
> 
> id    ProductID       Sku     Description     OptionID        minpayments     
> maxpayments     maxqty  is_acti
> ve
> 1     1000001 somedesc1       1       1       1       0       1
> 1     1000002 CX7535  somedesc2       1       1       3       0       1
> 
> when I ran the following sql I got: ""ERROR:  column product.ProductID does
> not exist":
> 
> SELECT *
> FROM products
> JOIN productoptions
> ON products.ProductID = productoptions.ProductID
> 
> However, if i changed the name of the fields in the database to:
> 
> "productid"
> 
> It would work fine.
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
> 

-- 
Jim C. Nasby, Sr. Engineering Consultant      [EMAIL PROTECTED]
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to