我为措辞不当的问题道歉。最好通过一个例子来说明,到目前为止我想出了什么:
表“myInfo”有列:
1. id (PK)
2. key
3. value
4. metaId
表“元”有列:
1. id (PK)
2. metaName
3. metaValue
4. instanceNum
“myInfo”表中的 metaId 与“meta”表中的 instanceNum 相关。“值”列的值有时会随着 metaId 在不同的行上发生变化。将 metaId 视为“元”表中时间戳值的链接(“时间戳”及其值将分别进入 metaName 和 metaValue 列)。
我想在“myInfo”中选择“value”列的不同值。到目前为止,我有:
SELECT DISTINCT mi.key, mi.value
FROM myInfo as mi JOIN metadata as meta
WHERE mi.metaId=meta.instanceNum
AND meta.key = 'timestamp'
AND mi.key='maxWeight';
但我也想要与这些值相关联的时间戳。所以我希望输出看起来像:
键值时间戳 最大重量 10 吨 2011-01-01 15:00:05 最大重量 5 吨 2011-10-12 08:00:07 最大重量 25 吨 2013-08-01 13:05:09
我不能将时间戳作为我的 SELECT 中的列之一,因为它也会返回重复的 mi.attrValue 值,因为时间戳使每一行都是唯一的。我尝试将 DISTINCT 关键字仅放在 mi.attrValue 后面,但出现 MySQL 错误。