0

次のような結果をもたらすクエリが必要です。

prescription created date
right lens product
left lens product
store name
is prescription used for order **Yes / no**

私のデータベーステーブルは次のとおりです。

**prescriptions**
  creation_date
  right_product_id
  left_product_id
  store_id
  customer_id

**products**
  id
  name1

**stores**
  id
  name

**orders** 
  id
  store_id
  customer_id

**order_products**
  id
  order_id
  right_product_id
  left_product_id

1 つの問題はprescription_id、注文テーブルを使用したことがないため、直接的な結果をもたらすことができないため、処方箋と注文が行われたかどうかに一致するフィールドをcustomer_id使用する必要があることです。store_id

誰でも、上記の結果をもたらすクエリを作成してもらえますか?

結果は次のようになります。

処方日 | right_lens_product | 左レンズ製品 | ストア | 処方箋

2012/12/12 | 製品 1 | 製品 2 | xYZ ストア | はい・いいえ

早めの対応をお願いいたします。

ありがとう !

4

1 に答える 1

0

これはどう?

SELECT p.creation_date, pr1.name1, pr2.name1, s.name, if(p.creation_date IS NULL, 'Yes', 'No')
FROM (order_products op, stores s, products p1, products p2, orders o)
LEFT JOIN prescriptions p ON p.customer_id = o.customer_id AND p.store_id = o.store_id
WHERE o.id = op.order_id AND s.id = o.store_id AND p1.id = op.right_product_id AND p2.id = left_product_id

これは、テーブルを実際にセットアップせずに推測するだけですが、近いはずです(質問を理解しているため)。

処方箋テーブルを結合することで、注文が処方箋に関連しているかどうかを知ることができます。

于 2013-01-05T06:05:28.873 に答える