0

SQL IN クエリについて質問があります。たとえば、列ID、金額名を持つテーブルがあります。

クエリを使用:

  SELECT SUM(amount) FROM table WHERE id IN (101,101);

これで欲しいのは、特定のIDの量を追加することです。IN ステートメント内の ID は何でも構いません。このままだと101が2つ、101の量+101の量。

問題は、それが 1 つのインスタンスであると見なされることです。どうすればいいですか?それは次のようになります:

  SELECT SUM(amount) FROM table WHERE id IN (SELECT id FROM table.........);

サブセレクトは「101、101」を返します。

どのように

4

2 に答える 2

2
SELECT SUM(tbl.amount)
FROM tbl
JOIN (select 101 id UNION ALL
      select 101) InList on InList.id = tbl.id

このように展開します。

于 2012-10-15T02:38:28.097 に答える
0

私はこのようなことをします

Select * From table1
inner join dbo.fnSplit(@ArgList, ',')

それは間違いなく私にとってうまくいくでしょう

于 2012-10-15T02:40:57.820 に答える