私は一対のSQLサーバテーブルを持っています。SQLクエリ親子の区別
PにはIDと名前が含まれています。 PRには、id、interestrate、tiernumber、fromdate、todate、およびP.idが含まれています。 PRには、p.id/tierごとに多数の行がリストされている場合があります。 (ティアは、指定された期間内に製品が持つ可能性のある料金の一覧です。)
例:製品1段階1は2008年1月1日から1/1/2009に開始し、レートごとに6行のレートが表示されます。プロダクト1のティア2は1/2/2009などを開始します。
私はP.nameとPR.tier番号と日付を表示するビューが必要ですが、階層を表す行は1つだけにします。
これは簡単です:これは私の正確な右のデータ与え
SELECT DISTINCT P.ID, P.PRODUCTCODE, P.PRODUCTNAME, PR.TIERNO,
PR.FROMDATE, PR.TODATE, PR.PRODUCTID
FROM dbo.PRODUCTRATE AS PR INNER JOIN dbo.PRODUCT AS P
ON P.ID = PR.PRODUCTID
ORDER BY P.ID DESC
...しかし:これは、それが明瞭に否定うとしてPR.IDを見るために私を許可していません。
ユーザーが階層の一覧のみを表示する必要があるため、すべてのデータを表示するPR.IDを確認する必要があるため、結果セットを制限する必要があります。
アイデア?
「PR.IDを参照する必要があります」とはどういう意味ですか? PR.IDでは、1行に数が多いので、1行しか表示できません。 P.ID/Tierごと、またはPR.IDごとに行があります。 –
申し訳ありません - アプリケーションに固有のIDを返す必要があります。ユーザーは、製品の層のすべてを見たいと思っていて、画面上のより多くの層を選択できるようにしたいと考えています。選択した項目のティア番号を見つけて、それを使って残りのデータを取得する必要があります。ただし、アプリケーションで一意のIDがある場合にのみ、ティア番号を指定できます。 –