0

私はこの3つのSQLの質問があります:

$producent = mysql_fetch_array(mysql_query("
            SELECT FieldValue 
            FROM `xy8vx_rsform_submission_values`
            WHERE SubmissionId = '$id' AND FieldName = 'Producent'
            "));

$model = mysql_fetch_array(mysql_query("
            SELECT FieldValue 
            FROM `xy8vx_rsform_submission_values`
            WHERE SubmissionId = '$id' AND FieldName = 'Model'
            "));

$nr_ser= mysql_fetch_array(mysql_query("
            SELECT FieldValue 
            FROM `xy8vx_rsform_submission_values`
            WHERE SubmissionId = '$id' AND FieldName = 'Nr seryjny'
            "));

1つのSQL質問でこれらの3つの値を取得することは可能ですか?

4

5 に答える 5

4

はい、IN句を使用します。

 SELECT FieldName , FieldValue 
 FROM `xy8vx_rsform_submission_values`
 WHERE SubmissionId = '$id' AND FieldName IN ('Producent', 'Model', 'Nr seryjny')

そしてもちろん、結果をフェッチするためにループを使用する必要があります。

// $sql is the above sql
$res = mysql_query($sql);
$result = array();
while ($row = mysql_fetch_assoc($res)) {
  $result[$row['FieldName']] = $row['FieldValue'];
}
print_r($result);
于 2012-10-07T12:33:26.913 に答える
1

SQLIN演算子の使い方を学びます。

于 2012-10-07T12:41:08.050 に答える
1

3行の3つの値をフェッチするには:

SELECT FieldValue 
FROM `xy8vx_rsform_submission_values`
WHERE SubmissionId = '$id' AND 
FieldName in ('Producent', 'Model', 'Nr seryjny')

または、3つの列の3つの値をフェッチするには:

SELECT
    (SELECT FieldValue 
    FROM `xy8vx_rsform_submission_values`
    WHERE SubmissionId = '$id' AND FieldName = 'Producent') as Producent,

    (SELECT FieldValue 
    FROM `xy8vx_rsform_submission_values`
    WHERE SubmissionId = '$id' AND FieldName = 'Model') as Model,

    (SELECT FieldValue 
    FROM `xy8vx_rsform_submission_values`
    WHERE SubmissionId = '$id' AND FieldName = 'Nr seryjny') as NrSeryjny
于 2012-10-07T12:33:42.270 に答える
1
$id_1=x;
$id_2=y;
$id_3=z;

$name_1="NAME X";
$name_2="NAME Y";
$name_3="NAME Z";


SELECT FieldValue 
FROM `xy8vx_rsform_submission_values`
WHERE ((SubmissionId = $id_1 AND FieldName = $name_1) or (SubmissionId = $id_2 AND FieldName = $name_2) or (SubmissionId = $id_3 AND FieldName = $name_3));

次に、結果を3行の配列にフェッチする必要があります。

于 2012-10-07T12:37:40.910 に答える
0

1つのクエリで、これら3つのクエリの結果が生成されます

$producent = mysql_fetch_array(mysql_query("
        SELECT FieldValue 
        FROM `xy8vx_rsform_submission_values`
        WHERE SubmissionId = '$id' AND (FieldName = 'Producent' OR FieldName = 'Model' OR FieldName = 'Nr seryjny')
        "));
于 2012-10-07T12:34:40.900 に答える