簡體   English   中英

MySQL連接多個表中的列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM