对于第一个表中的每个项目,都有一个'numberOf'字段。该字段的值在相关表中必须具有相同的行数。这些就像保留行一样,因此多个用户可以同时预订该项目。这种syncronisation有时会消失,并且比'numberOf'字段变量更多的行,反之亦然。将数据库值与另一个表中的行数进行比较
所以我想显示一个表,输出第一个表中的'numberOf',以及从另一个表中对应的行数。它们通过项目ID链接。希望这不是太混乱。查询以do while循环输出。以下是我至今仍在查询的内容:
$querySync = sprintf("SELECT
COUNT(reserve_id), item_id, details, numberOf
FROM
reservations
JOIN
items ON item_id = itemID_reserved
WHERE
itemID_reserved = 1 ");
所以目前它计算保留表中的行数。然后它加入物品表,所以我可以显示说明和numberOf等。当然,目前它只输出ID为1的物品。但我似乎无法让它通过每个物品,检查其编号,并且将其与预订表中的行数进行比较。
这个想法是把它全部放在一个列上,如果它不同步等行打印结束,我需要重建预订表中的行以匹配numberOf。
对不起,这是一个很长的!
你为什么要存储计算值?由于计算该值所需的数据已经存储在数据库中,因此实际上可以将事物标准化。对于汇总表来说这可能是可以接受的,但通常不被认为是好的做法。 – dnagirl 2009-09-25 15:12:03
dnagirl提供了一个绝佳的观点 - 这是您尝试存储汇总值时创建的问题。 – TML 2009-09-25 15:14:28
我认为'numberOf'是可能的最大保留数量,而不是实际的数量,这就是'@ op'想要比较的。 – Quassnoi 2009-09-25 15:14:46