Re: Conditional INNER JOIN
| From: | Ron Piggott | Date: | Sun, 25 May 2008 00:41:37 +0000 |
| Subject: | Re: Conditional INNER JOIN | ||
| References: | 1 2 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-45004@lists.php.net to get a copy of this message | ||
This still isn't working; am I close?
SELECT * FROM ( shopping_cart_orders INNER JOIN
shopping_cart_sales_shipping_address ON
shopping_cart_orders.shipping_address_reference =
shopping_cart_sales_shipping_address.reference ) CASE
shopping_cart_sales_shipping_address.same_as_customer WHEN
shopping_cart_sales_shipping_address.same_as_customer = '0' THEN INNER
JOIN shopping_cart_sales_billing_address ON
shopping_cart_sales_billing_address.shipping_address_reference =
shopping_cart_sales_shipping_address.reference
On Sat, 2008-05-24 at 19:40 -0400, Bastien Koert wrote:
>
>
> On 5/24/08, Ron Piggott <ron.php@actsministries.org> wrote:
> Is it possible to do a conditional INNER JOIN ?
>
> So far I have
>
> SELECT * FROM ( shopping_cart_orders INNER JOIN
> shopping_cart_sales_shipping_address ON
> shopping_cart_orders.shipping_address_reference =
> shopping_cart_sales_shipping_address.reference )
>
> If shopping_cart_sales_shipping_address.same_as_customer has a
> value of
> "0" I need to
>
> INNER JOIN shopping_cart_sales_billing_address WHERE
> shopping_cart_sales_billing_address.shipping_address_reference
> =
> shopping_cart_sales_shipping_address.reference
>
> otherwise the shipping address is the same as the billing
> address.
> Suggestions?
>
> Ron
>
>
>
>
> Ron,
>
> you can't do conditional joins but you can use the CASE WHEN THEN
> structure to handle what you need. Check out the mysql docs for that
>
>
>
> --
>
> Bastien
>
> Cat, the other other white meat