[解決済み: bluefeet と Brian のおかげで、この作業クエリを作成することができました (4 番目のテーブル/ビューも必要であることがわかりました)]"
SELECT A.SalesLineID, A.ArticleResultID, B.ID, C.ID, D.Value
FROM VIEWA AS A
INNER JOIN TABLEB AS B ON A.ArticleResultID = B.ArticleResultID
AND B.Name = N'Collect' AND DAPR.Value = 1
INNER JOIN TABLEC AS C ON B.ArticleResultID = C.ID
AND C.Name='Assemble'
AND C.Value = 1
INNER JOIN TABLED AS D ON D.ArticleResultID = C.ParentId
AND D.Name = 'IndexY'
WHERE (A.SalesID = @SalesID)
[UPDATE: IndexY/Color および ProdId フィールド テーブル A は、ID - NAME - VALUE - ARTICLERESULTID - PRODID の 5 つの列しかないある種のパラメーター/プロパティ テーブルであると仮定して間違いを犯しました。IndexY は Name フィールドの値です..]
このトリックを実行するための適切な SQL クエリを作成するのに問題があります。
次の2つのテーブルがあります。
Table A
ID Name Value ArticleResultID ProdID Color
1 Operation Collect 110 10 BLACK
2 IndexY 10 110 10 -
3 Operation Collect 101 11 WHITE
Table B
ID ParentID Name Value
101 110 Assemble 1
101 100 Assemble 0
手順:
Find record in A with Name = Operation and Value = Collect and ProdId = 11 AS ORG_A
Find record in B With B.ID = ORG_A.ArticleResultId AND B.NAME = 'Assemble'AND B.VALUE = 1 AS B
Find record in A With A.ArticleResultID = B.ParentID as NEW_A
上記のシナリオでは ORG_A.ArticleResultID = 11 --> B.ParentID = 110 --> NEW_A.ARTICLERESULTID = 110 --> (IndexY - Value - 10)
誰かがこのクエリを作成する方法を教えてくれれば、とても感謝しています..
よろしくお願いします、
マイク・D
[古い説明:]
このトリックを実行するための適切な SQL クエリを作成するのに問題があります。
次の2つのテーブルがあります。
Table A
Name Value ArticleResultID IndexY Color ProdID
Operation Collect 110 10 - 0
Operation Collect 101 _ Black 100
Table B
ID ParentID Name Value Dx Dy
101 110 Assemble 1 1000 500
101 100 Assemble 0 400 300
NAMEが「操作」に等しく、値が「収集」に等しく、PRODID = '100'であるAからすべてのレコードをフェッチしたいのですが、テーブルBのPARENTIDを持つテーブルAのレコードのIndexY値も必要です(これが私の問題です) TABLE B.ID = A.ArticleResultID AND Name = 'Assemble' および VALUE = '1' で結合します
上記のシナリオでは、ParentID 110 で、テーブル A に ArticleResultID 110 と IndexY (10) のレコードが表示されます。
誰かがこのクエリを作成する方法を教えてくれれば、とても感謝しています..
よろしくお願いします、
マイク・D