さまざまな提案に感謝しますが、それらはすべて私が持っていた限られた範囲外でした. 私は次のクエリで終わった:
SELECT sum( if ((TShirt1='RedCrew' AND TShirt1Size='S') OR (TShirt2='RedCrew' AND TShirt2Size='S'), if ( (TShirt1='RedCrew' AND TShirt1Size='S') AND (TShirt2='RedCrew' AND TShirt2Size='S'), 2, 1), 0)) AS 'RedCrew S',
sum( if ((TShirt1='RedCrew' AND TShirt1Size='M') OR (TShirt2='RedCrew' AND TShirt2Size='M'), if ( (TShirt1='RedCrew' AND TShirt1Size='M') AND (TShirt2='RedCrew' AND TShirt2Size='M'), 2, 1), 0)) AS 'RedCrew M',
sum( if ((TShirt1='RedCrew' AND TShirt1Size='L') OR (TShirt2='RedCrew' AND TShirt2Size='L'), if ( (TShirt1='RedCrew' AND TShirt1Size='L') AND (TShirt2='RedCrew' AND TShirt2Size='L'), 2, 1), 0)) AS 'RedCrew L',
sum( if ((TShirt1='RedCrew' AND TShirt1Size='XL') OR (TShirt2='RedCrew' AND TShirt2Size='XL'), if ( (TShirt1='RedCrew' AND TShirt1Size='XL') AND (TShirt2='RedCrew' AND TShirt2Size='XL'), 2, 1), 0)) AS 'RedCrew XL',
sum( if ((TShirt1='BlueSlim' AND TShirt1Size='S') OR (TShirt2='BlueSlim' AND TShirt2Size='S'), if ( (TShirt1='BlueSlim' AND TShirt1Size='S') AND (TShirt2='BlueSlim' AND TShirt2Size='S'), 2, 1), 0)) AS 'BlueSlim S',
sum( if ((TShirt1='BlueSlim' AND TShirt1Size='M') OR (TShirt2='BlueSlim' AND TShirt2Size='M'), if ( (TShirt1='BlueSlim' AND TShirt1Size='M') AND (TShirt2='BlueSlim' AND TShirt2Size='M'), 2, 1), 0)) AS 'BlueSlim M',
sum( if ((TShirt1='BlueSlim' AND TShirt1Size='L') OR (TShirt2='BlueSlim' AND TShirt2Size='L'), if ( (TShirt1='BlueSlim' AND TShirt1Size='L') AND (TShirt2='BlueSlim' AND TShirt2Size='L'), 2, 1), 0)) AS 'BlueSlim L',
sum( if ((TShirt1='BlueSlim' AND TShirt1Size='XL') OR (TShirt2='BlueSlim' AND TShirt2Size='XL'), if ( (TShirt1='BlueSlim' AND TShirt1Size='XL') AND (TShirt2='BlueSlim' AND TShirt2Size='XL'), 2, 1), 0)) AS 'BlueSlim XL',
sum( if ((TShirt1='GreyV' AND TShirt1Size='S') OR (TShirt2='GreyV' AND TShirt2Size='S'), if ( (TShirt1='GreyV' AND TShirt1Size='S') AND (TShirt2='GreyV' AND TShirt2Size='S'), 2, 1), 0)) AS 'GreyV S',
sum( if ((TShirt1='GreyV' AND TShirt1Size='M') OR (TShirt2='GreyV' AND TShirt2Size='M'), if ( (TShirt1='GreyV' AND TShirt1Size='M') AND (TShirt2='GreyV' AND TShirt2Size='M'), 2, 1), 0)) AS 'GreyV M',
sum( if ((TShirt1='GreyV' AND TShirt1Size='L') OR (TShirt2='GreyV' AND TShirt2Size='L'), if ( (TShirt1='GreyV' AND TShirt1Size='L') AND (TShirt2='GreyV' AND TShirt2Size='L'), 2, 1), 0)) AS 'GreyV L',
sum( if ((TShirt1='GreyV' AND TShirt1Size='XL') OR (TShirt2='GreyV' AND TShirt2Size='XL'), if ( (TShirt1='GreyV' AND TShirt1Size='XL') AND (TShirt2='GreyV' AND TShirt2Size='XL'), 2, 1), 0)) AS 'GreyV XL'
WHERE 1;
PHPで生成したもの:
$tees=array('RedCrew','BlueSlim','GreyV');
$sizes=array('S','M','L','XL');
foreach ($tees as $t)
{
foreach ($sizes as $s)
{
print "sum( if ((TShirt1='$t' AND TShirt1Size='$s') OR (TShirt2='$t' AND TShirt2Size='$s'), if ( (TShirt1='$t' AND TShirt1Size='$s') AND (TShirt2='$t' AND TShirt2Size='$s'), 2, 1), 0)) AS '$t $s',<br>";
}
}
回答の正確な書式設定を提供するわけではありませんが、知っておくべきことを教えてくれます!