0

クエリがあります:

SELECT Column1 FROM Table WHERE Column2 IN ('val1,'val2','val3',....'valn');

ここで、行を返さなかった値が必要です。IN 関数に渡した値を意味しますが、テーブルには存在しません。

私がそれを明確にしなかった場合は申し訳ありません:)

4

2 に答える 2

1
SELECT x.f FROM
(SELECT 'val1' as f
UNION ALL
SELECT 'val2'
UNION ALL
SELECT 'val3') x
LEFT JOIN Table t ON x.f = t.Column2
WHERE t.Column2 IS NULL
于 2012-08-12T20:37:14.960 に答える
0

私はこのようにしました:

$have_values = array('val1','val2'..... 'valn');
$i=0;
$have_values_string=""; 
foreach($have_values as $var => $val)
{
$have_values_string.="'".$val."'";
if($i!=count($have_values)-1) {  $have_values_string.=",";}
$i++;
}

//now querying..
$sql=SELECT Column1 , Column2 FROM Table WHERE Column2 IN ('val1,'val2','val3',....'valn');
$result=mysql_query($sql);
while($row=mysql_fetch_array($result))
{
$found_values[$row[0]]=$row[1];
}

$not_found_values=array_diff($have_values, $found_values);
于 2012-08-21T13:37:37.033 に答える