0

クエリの途中でifステートメントを実行したいのですが、oc.product_type == 'clothing' または 'other' かどうかを調べる必要があります。衣類の場合は、 non_clothingではなくspecific_clothingテーブルを選択する必要があります。テーブル?こいつで本当に負けた

SELECT o.total, o.shipping, o.order_date
      ,oc.product_type, oc.product_id, oc.quantity, oc.price_per
      ,cu.first_name, cu.last_name, CONCAT(cu.address1, cu.address2) AS address,

// if を使用しようとしている場所はここにあります

  if(oc.product_type = 'clothing'
      SELECT style
        FROM specific_clothing
        where oc.product_id = specific_clothing_id) as item 

    FROM order_contents AS oc
    INNER JOIN `orders` as o ON oc.order_id = o.id
    INNER JOIN `customers` AS cu ON o.customer_id=cu.id
    WHERE o.customer_id = '214';
4

1 に答える 1

1

に外部結合を追加しようとしているだけだと思いますspecific_clothing。このようなもの:

SELECT o.total, o.shipping, o.order_date
      ,oc.product_type, oc.product_id, oc.quantity, oc.price_per
      ,cu.first_name, cu.last_name, CONCAT(cu.address1, cu.address2) AS address
      ,sc.style AS item

    FROM order_contents AS oc
    INNER JOIN `orders` as o ON oc.order_id = o.id
    INNER JOIN `customers` AS cu ON o.customer_id=cu.id
    LEFT OUTER JOIN specific_clothing sc ON (
        oc.product_id = sc.specific_clothing_id AND
        oc.product_type = 'clothing' )
    WHERE o.customer_id = '214';
于 2013-06-06T02:31:35.400 に答える