だから私はこのSQLクエリを持っています:
"select company, surveys.surveyID, questionID, question, questionScore FROM surveys INNER JOIN (SELECT * FROM companies INNER JOIN "
+ "(SELECT * FROM questions INNER JOIN categories "
+ "ON questions.catID = categories.catID) AS cats "
+ "ON companies.questionID = cats.questionID) AS yes "
+ "ON yes.surveyID = surveys.surveyID WHERE company=?"
「猫」と「はい」は意味がなく、私の非常に冗長な命名スキームの勝利にすぎません。
会社は単なる文字列です。
返されるテーブルは次のようになります。
---------------------------------------------
|companyName|surveyID|questionID|questionScore|
---------------------------------------------
このテーブルの主キーは(companyName、surveyID、QuestionID)です。これは、各会社が複数の調査を持つことができ、各調査にはいくつかの質問があるためです。
それから私はこのクラスを持っています:
public class Company
{
private String companyName;
private String surveyorName;
private String surveyorTitle;
private int surveyID;
private Map<Integer,Integer> questions;
public Company(String name, String surveyor, String surveyerTitle,
int surveyID, Map<Integer, Integer> questions)
{
this.companyName = name;
this.surveyorName = surveyor;
this.surveyorTitle = surveyerTitle;
this.surveyID = surveyID;
this.questions = questions;
}
すべてのゲッターとセッターで
たとえば、MensInsamenという会社があるとします。SurveyIDは1です。
Mens Insamen 1 q1 3
Mens Insamen 1 q2 1
等...
次に、会社オブジェクトのリストにSQLクエリのデータを入力する必要があります。しばらく試してみましたが、なかなか思いつきませんでした。
それが(当然のことながら)不明瞭な場合(fokol(no)コーヒー)、私はある時点でそれを改善することができます。
前もって感謝します