2017-03-29 6 views
0

私は、うまく機能するSQLコードを少し持っており、RevisionNo列の最大値を得るためにそれを微調整する必要があります。それは私のために働いていないと私はHaving節が必要かどうか、またはそれをいかに最適に実装するかわかりません。列の行の最大値を取得する

SELECT ValueText FROM VariableValue 
    WHERE (VariableID = 60) AND (DocumentID IN 
       (SELECT DocumentID FROM Documents 
        WHERE (deleted = 0 and DocumentID IN 
          (SELECT DocumentID FROM Documents WHERE (Filename LIKE 'TCT-013963%.SLDASM')))) 

これではありません:ここで作業コードである

SELECT ValueText FROM VariableValue 
    WHERE (VariableID = 60) AND MAX(RevisionNo) AND (DocumentID IN 
       (SELECT DocumentID FROM Documents 
        WHERE (deleted = 0 and DocumentID IN 
          (SELECT DocumentID FROM Documents WHERE (Filename LIKE 'TCT-013963%.SLDASM'))))) 

私はリターンを実行し、クエリで取得していた結果が、これは説明フィールドおよびIである(valuetext列からの二列RevisionNo列の最新値、したがって最大値が必要です)。

| ValueText | RevisionNo |

|プレッシャーベッセルフロントエンドアッシーBNCT | 1 |

|プレッシャーベッセルフロントエンドアシヌーベン| 7 |

+2

サンプルデータと望ましい結果を提供してください。 –

答えて

0
SELECT TOP 1 ValueText FROM VariableValue 
    WHERE (VariableID = 60) AND (DocumentID IN 
     (SELECT DocumentID FROM Documents 
      WHERE (deleted = 0 and DocumentID IN 
       (SELECT DocumentID FROM Documents WHERE (Filename LIKE 'TCT-013963%.SLDASM'))))) 
        ORDER BY RevisionNo DESC 
+0

それはチケットだった!ありがとうございました。 – CodeWriter

関連する問題