0

2 つのテーブルがあります ( Model_Table 、 Items_Table )

Model_Tabl ( ID, ModelName, ModelQuantity)
Items_Tabl ( I_Code, IName, ID)

(Model_Table) に新しい行を挿入した後 - トリガーは (Items_Table) に複数行を挿入します (Model_Table) からの ModelQuantity に依存し、今までは正常に動作します

私は作成"select distinct ModelName , Sum(ModelQuantity) group by ModelName" しましたが、結果は問題ありません

私の質問は:

(DISTINCT) クエリからモデル名を選択すると、(Model_Table) から選択した (ID) を知りたい

Model_ID (TO) Model_Name = 1 (TO) 多数

4

3 に答える 3

0

まず第一に、あなたはDISTINCTそこを必要としないので、あなたはそれを取り除くことができます。そして、あなたはこれを試すことができます:

SELECT ID, ModelName, SUM(ModelQuantity) Quantity
FROM Model_Tabl 
GROUP BY ID, ModelName

コメントで説明したように、同じ名前のIDが複数ある場合は、最大IDまたは最小IDのいずれかを選択する必要があります(1つを選択するだけでは意味がありません)実際にそのIDを識別する必要がある場合のID)、しかし、まあ、ここにあります:

SELECT MIN(ID) ID, ModelName, SUM(ModelQuantity) Quantity
FROM Model_Tabl 
GROUP BY ModelName
于 2013-02-18T17:13:25.337 に答える
0

model_table に ID 列がありますが、ModelQuantity フィールドをチェックするクエリでそれを使用していないようです。こんなことしたくないですか?

select ModelQuantity
from Model_table
where id = @@identity

?

于 2013-02-18T18:06:24.553 に答える
0

just do:

select ID, ModelName , Sum(ModelQuantity) group by ID, ModelName

as long as ID and ModelName are 1-to-1, you're good.

(Btw, your "distinct" here is superfluous - Select distinct a,b,c from tbl is simply shorthand for Select a,b,c from tbl group by a,b,c)

于 2013-02-18T17:15:07.240 に答える