2016-08-01 10 views
-2

SQLite db - Products、CategoryProduct_MM(製品のカテゴリ)とFacing(製品の注文)に3つのテーブルがあります。 ProductsテーブルにはPrdID(INTEGER)、CategoryProduct_MMにはCategoryID(INTEGER)およびPrdID(INTEGER)、FacingにはCategoryID、PrdIDおよびOrde​​r(すべてINTEGER)が含まれます。製品のカテゴリはテーブルに直面して存在する場合、私は1つのクエリでそれらを結合するためにどのようにこの2つのsqliteクエリを組み合わせる

SELECT p.* FROM Products p INNER JOIN CategoryProduct_MM cp ON p.PrdID = cp.PrdID WHERE cp.CategoryID = ?; 

のような製品から選択する必要があり、別の場合には、この

SELECT p.* FROM Products p INNER JOIN Facing f ON p.PrdID = f.PrdID WHERE f.CategoryID = ? ORDER BY f.'Order'; 

のような順序に基づいて製品を並べ替える必要がありますか?テーブル構造、いくつかのサンプルデータと、あなたがそのサンプルのために取得したいのですが、結果を共有してください - ここで

+0

は、私たちはあなたを助ける助けです。 – Mureinik

+0

Sql unionステートメントがここで役に立ちます – user1050134

+0

@Mureinikが詳細を追加しました –

答えて

0

は正しいクエリ

SELECT p.* 
FROM Products p 
INNER JOIN CategoryProduct_MM cp 
ON (p.PrdID = cp.PrdID AND cp.CategoryID = ?) 
LEFT JOIN Facing f 
ON (f.PrdID = cp.PrdID AND f.CategoryID = cp.CategoryID) 
ORDER BY f.'Order'; 
関連する問題