0

これを行うには比較的簡単な方法があるはずですが、現時点ではそれは私を逃れています。次のようなSQLテーブルがあるとします。

+-----+------+-----+-----+
|type |value |  Monthly  |
+=====+======+=====+=====+
|  a  |  5   |  Jan      |  << a,Jan      
+-----+------+-----+-----+
|  a  |  3   |  Feb      |  << a,Feb      
+-----+------+-----+-----+
|  a  |  7   |  April    |  << a,April    
+-----+------+-----+-----+

タイプと月ごとにクエリをグループ化します。たとえば、janからaprilまでの値を検索するとします。この場合、March doenstには任意の値がありますが、それでも0を表示したいのですが、どうすればよいですか?:

+-----+------+-----+-----+
|type |value |  Monthly  |
+=====+======+=====+=====+
|  a  |  5   |  Jan      |  << a,Jan      
+-----+------+-----+-----+
|  a  |  3   |  Feb      |  << a,Feb      
+-----+------+-----+-----+
|  a  |  0   |  Mar      |  << a,Mar
+-----+------+-----+-----+
|  a  |  7   |  April    |  << a,April    
+-----+------+-----+-----+
4

2 に答える 2

2

月のリストを含むテーブルが必要です (例: month_id、month_name)。次に、次のようなことができます。

SELECT t.*, m.* FROM months m LEFT JOIN table t ON m.month_id = t.month_id

そうしないと、クエリが「3 月」のようなものがあることを知る方法がありません。

于 2011-03-04T02:38:11.910 に答える
0

SQLで次のようにクエリを作成します。

SELECT * FROM table WHERE (value='0' OR value='yourcondition') AND..
于 2011-03-04T02:30:05.237 に答える