2016-05-24 4 views
-2

最初のサプライヤコードのみを返し、その他のフィールドには影響しません。グループから1番目のレコードを返す方法

`Select 

Container.Part_Key, 
Part.Part_No, 
Part.Name, 
Part.Revision, 
Container.Quantity, 
Container.Container_Status, 
OP.Operation_No, 
Opp.Operation_Code, 
Part.Part_Status, 
Supplier.Supplier_Code 


From Part_v_Container as Container 

Join Part_v_Part as Part 
ON Part.Part_Key = Container.Part_Key 


Join Part_v_Part_Operation as Op 
On Op.Part_Operation_Key = Container.Part_Operation_Key 

Join Part_v_Operation as OPP 
On OPP.Operation_Key = OP.Operation_Key 

Join part_v_approved_supplier as Approved 
On Approved.part_key = container.part_key 

Join common_v_Supplier as Supplier 
On Supplier.supplier_no = Approved.Supplier_No 


Where Container.Active = '1' 

group by container.part_key` 

重複した部品番号、改訂版などがあります。心配しないでください。私はちょうど1つの承認されたサプライヤーが、データベースにリストされている複数の承認されたサプライヤーがあるにもかかわらず、一番右側の承認済みサプライヤーを1つだけリストすることを希望します。 さらに、データベースが承認されたサプライヤをリストする順序は関係ありません。

ありがとうございます!

+1

dbmsは何ですか? MySQL、SQL Serverなど – SQLChao

答えて

0

サプライヤーコード

この缶として(Supplier.supplier_noによってサプライヤー Supplier.supplier_no = Approved.Supplier_No順から上位1 supplier.supplier_code を選択)あなたの選択リストに

をサブクエリを追加します。選択リストの最後のフィールドにする 適切な順序を追加できます。

これはSQL Serverでも動作します

関連する問題