0

私はこのようなテーブルを持っています:

+---------------------------------+
| Group1                          | 
+-------+--------+----------------+ 
| Item1 | Value1 | Compare        |
+-------+--------+----------------+
| Item2 | Value2 | Compare        |
+-------+--------+----------------+
| Item3 | Value3 | Do not compare |
+-------+--------+----------------+
| Group2                          | 
+-------+--------+----------------+ 
| Item1 | Value1 | Compare        |
+-------+--------+----------------+
| Item2 | Value2 | Compare        |
+-------+--------+----------------+
| Item3 | Value3 | Do not compare |
+-------+--------+----------------+

このようなテーブルでは、複数のアイテムを持つ複数のグループを持つことができます。「比較」と書かれている項目だけを比較する必要があります。たとえば、その値が Group1 の Value1 よりも大きい場合、Group2 の Value1 の色を変更する必要があります。どうやってやるの?各グループで比較する行が1つだけなら簡単ですが、複数の行があるとどうすればよいかわかりません。

4

1 に答える 1

0

名前を知っている古いグループと新しいグループを比較する必要がありますか? このクエリは、新しいグループを提供し、元のグループと比較するフラグが付けられている同じ名前のアイテムを比較しGroup1、古い値と新しい値を提供します。

SELECT New.GroupName AS NewGroup, New.ItemName AS NewItem, 
    Old.Value AS OldValue, New.Value AS NewValue
FROM MyTable New
INNER JOIN MyTable Old ON 
    Old.GroupName = 'Group1' AND 
    Old.ItemName = New.ItemName
    Old.CompareField = 'Compare' AND
    New.CompareField = 'Compare'
于 2013-02-22T11:01:39.280 に答える