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: thegreatall@gmail.com
> 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 jnasby@pervasive.com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461