1

同じテーブル内の他の応答によってフィルター処理する必要があるテーブルがあります。私は動作する次のスクリプトを使用しますが、'Customer.customer_id' (時々ある) の重複がある場合、結果は歪められます。私の質問は、これを回避するためにこのコードを書き直して、「Customer」テーブルから個別の結果のみを選択するより良い方法があるかどうかです。

以下の例のテーブルでは、customer_id '10' のエントリが重複しているため、' Two ' 応答のみが返されます (以下のクエリに基づく)。

サンプルテーブル:

[res_id]  [question_id]  [customer_id]  [survey_id]  [res_answer]
  1            20             10           155          male
  1            20             11           155          male
  1            20             10           155          male
  1            20             12           155          female

現在のクエリ:

  SELECT
  Responses.res_id AS responseID
     ,Responses.res_col AS answer
    ,Responses.res_created AS dateCreated
    ,Responses.res_notes AS note
    ,Responses.question_id AS questionID
    ,Responses.customer_id AS customerID
    ,Responses.res_answer AS subQuestion
    ,Responses.survey_id AS surveyID
    ,Responses.res_void AS void
    ,Customer.res_answer AS filter
FROM
    Responses, Responses AS Customer
WHERE
    rs.customer_id = Customer.customer_id
AND
    Responses.survey_id ='155' 
AND
    Customer.survey_id = '155'
AND
    Responses.question_id = '20'                    

AND CAST(Customer.res_answer AS VARCHAR(500)) = 'male'
AND Responses.res_void = '0' 
4

1 に答える 1