1 つのメイン テーブルと、最初のテーブルに関する複数のダイナミクス情報を保持する 2 つのテーブルがあります。
「アイテム」と呼ばれる最初のテーブルには、主要な情報が保持されます。次に、聴覚の数と期間のいくつかの値に関する情報を保持する 2 つのテーブル (評価とインデックス) があります。
私が欲しいもの: これらのアイテムを照会するとき、結果に評価とインデックスのテーブルからの追加の列名が必要です。
私はこのようなコードを持っています
SELECT items.*, ratings.val AS rating, indexes.val AS idx
FROM items,ratings,indexes
WHERE items.date>=1349902800000 AND items.date <=1349989199000
AND ratings.period_start <= items.date
AND ratings.period_end > items.date
AND ratings.auditory = 'kids'
AND indexes.period_start <= items.date
AND indexes.period_end > items.date
AND indexes.auditory = 'kids'
ORDER BY indexes.added, ratings.added DESC
テーブルはこんな感じ
アイテム:
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(200) DEFAULT NULL,
`date` bigint(40) DEFAULT NULL
PRIMARY KEY (`id`)
評価:
`id` bigint(50) NOT NULL AUTO_INCREMENT,
`period_start` bigint(50) DEFAULT NULL,
`period_end` bigint(50) DEFAULT NULL,
`val` float DEFAULT NULL,
`auditory` varchar(200) DEFAULT NULL,
`added` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
単純な TIMESTAMPS である「追加」フィールドを除くすべての日付は、BIGINT 形式です。Date.getTime(); を実行したときの AS3 の日付からのミリ秒です。
それで、これを達成する正しい方法は何ですか?