[英]Mysql join columns from multiple tables
我有一個主表和兩個表,其中包含有關第一個表的多個dinamyc信息。
第一個表稱為“項”,包含主要信息。 然后有兩個表(等級和索引)保存有關聽覺和時間段的動態計數的一些值的信息。
我想要的是:當我查詢那些項目時,我希望結果具有評級和索引表中的其他列名。
我有這樣的代碼
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中任何日期的毫秒數。
那么-完成此任務的正確方法是什么?
我唯一看不到的是任何單個ITEM與其等級之間的唯一關聯...我認為等級表需要一個“ ItemID”才能鏈接回項目。 目前,如果您在給定的時間內有100項商品,例如3個月...,而只需添加所有評分/評論,但是不將這些評分與實際商品相關聯,就會陷入困境。 放入ItemID並將其添加到WHERE條件中,您應該一切順利。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.