次のフィールドを持つ tbl_populations という名前のテーブルがあります。
pk_populationid,residence,value,aspect,gender,fk_tbl_states_stateid
2つの側面の行の差を計算しようとしています
例えば
SELECT fk_tbl_states_stateid, value - (
SELECT value
FROM tbl_populations
WHERE fk_tbl_states_stateid = '16'
AND fk_tbl_districts_districtid = '0'
AND residence = '0'
AND gender = '0'
AND aspect = '2' ) AS difference
FROM tbl_populations
WHERE fk_tbl_states_stateid = '16'
AND fk_tbl_districts_districtid = '0'
AND residence = '0'
AND gender = '0'
AND aspect = '1'
1行を返すので正常に動作しています
すべての性別値を取得したいという複数のデータを取得するために、条件から性別を削除しました。
SELECT fk_tbl_states_stateid,gender, value - (
SELECT value
FROM tbl_populations
WHERE fk_tbl_states_stateid = '16'
AND fk_tbl_districts_districtid = '0'
AND residence = '0'
AND aspect = '2' ) AS difference
FROM tbl_populations
WHERE fk_tbl_states_stateid = '16'
AND fk_tbl_districts_districtid = '0'
AND residence = '0'
AND aspect = '1'
エラーが発生してSubquery returns more than 1 row
います。
すべての結果を取得するにはどうすればよいですか?