2016-10-13 8 views
0

私のテーブルで最新の日付を持つ行を取得することができます。は、どのように私は私の日付は、別のテーブルに

LoanItemCode Quantity ItemDesc ItemWeight Karat 
JAR002     1  Ring   1.60 18  
JAR003     6  dh    7.00 18 

ContractID EffectiveDate 
    60  2016-10-12 
    61  2016-10-12 
    62  2016-10-13 
    63  2016-10-13 

私はこの出力を見たい:

LoanItemCode Quantity ItemDesc ItemWeight Karat EffectiveDate 
JAR002    1   Ring  1.60  18  2016-10-12 
JAR003    6   dh   7.00  18  2016-10-13 

私が試したもの:

SELECT LoanItemCode ,Quantity, ItemDesc, ItemWeight, ISNULL(ItemKarat,0) as 'Karat', MAX(EffectiveDate) 
FROM tblLoanContract 
    LEFT JOIN tblLoanItemDetails 
     LEFT JOIN tblLoanItem 
      LEFT JOIN tblItemType 
      ON tblLoanItem.ItemTypeID = tblItemType.ItemTypeID 
     ON tblLoanItemDetails.LoanItemID = tblLoanItem.LoanItemID 
    ON tblLoanContract.ContractID = tblLoanItemDetails.LoanContractID 
WHERE ItemStatusID = 5 
-My code 
+0

2つのテーブルの間の接続は何ですか? –

+0

私のコードで見ることができるように、Iveは2つのテーブルに接続するテーブルを持っています – Skippp

+0

あなたのコードに4つのテーブルがあります。質問を編集して他のテーブルも含めてください。 –

答えて

0

3つの問題があるようです。

  1. あなたの結合構文が正しくありません。参加者のON部分はJOIN部分のままでなければなりません。

  2. グループ化を使用せずに、いくつかのフィールドのいずれかで集約を使用しています。 max()のような集計関数を作成したら、他のすべてのフィールドも集計を使用する必要があります(min(),sum()など)。GROUP BY句に含める必要があります。

  3. 有効な日付にエイリアスを追加していません。 Max()は名前のない列になります。

さらに、結合にテーブルエイリアシングを使用することをお勧めします。私は、それが複数の結合テーブルがあるときからどのテーブルフィールドが来ているのかを理解しやすくするために、結合構文を読みやすくします。

これは機能しますか?そうでない場合は、他の2つのテーブルの詳細をいくつか提供する必要があります。

SELECT lid.LoanItemCode, lid.Quantity, lid.ItemDesc, lid.ItemWeight, 
    ISNULL(lid.ItemKarat,0) as 'Karat', MAX(lc.EffectiveDate) EffectiveDate 
FROM tblLoanContract lc 
    LEFT JOIN tblLoanItemDetails lid 
     ON lc.ContractID = lid.LoanContractID 
    LEFT JOIN tblLoanItem li 
     ON lid.LoanItemID = li.LoanItemID 
    LEFT JOIN tblItemType it 
     ON li.ItemTypeID = it.ItemTypeID 
WHERE ItemStatusID = 5 --I'm not sure what table this comes from so no table alias here 
GROUP BY lid.LoanItemCode, lid.Quantity, lid.ItemDesc, lid.ItemWeight, 
    ISNULL(lid.ItemKarat,0) 
ORDER BY lid.LoanItemCode; 
関連する問題