我试图拉在每个这些表中有一个值在游戏的所有记录。大于输入日期的Date_added。试着拉出所有的新记录。
我可以在一个查询中完成所有这些吗?或者只是向每个表添加一个date_added字段并分别查询每个表更容易?
游戏>
id
date_added
game_name
release_date
game_category
game_type
game_console
trophies_id
game_name
tr_nametr_description
tr_color
tr_ach_valueTROPHY_TOTALS
trophy_totals_id
game_name
bronze_ttl
silver_ttl
gold_ttl
plat_ttl
hidden_ttl
如果你做3个单独的查询会更好更清晰。每一个都会给你不同的行数。glgll给出的使用2个连接的查询将产生来自games表的多行。这是因为奖杯和奖杯总数可以在同一款游戏中包含多个记录。当然,如果game_name是唯一列,那么连接将是OK的。
首先,最好将TROPHIES
和TROPHY_TOTALS
中的外关键字段设置为id
。game_id
而不是game_name
。
这就是说,我将集中在您当前的表结构。
SELECT <wanted fields>
FROM GAMES
LEFT JOIN TROPHIES USING (game_name)
LEFT JOIN TROPHY_TOTALS USING (game_name)
WHERE date_added > <given>