2014-02-22 29 views
0

我有一个问与以下问题的SQL相关的问题。当被问及两张桌子之间有太多关系时,暗示什么?

编写返回的姓氏和名字作为姓氏的字符串的以人为本然后名字鉴于已调用不止一次在上个月的SQL查询:

有一个表t_people与表之间的多对多关系t_calls

•在t_calls的call_date字段是一个日期时间字段

•该姓氏字段为varchar

•的first_name的字段是一个varchar

$query = "SELECT last_name, first_name from t_people"; // little confused based upon my question 

$result = $mysqli->query($query) 
+1

这意味着,对于任何一个唯一标识,在't_people'(一个人)行,可以存在一个_or more_在't_calls'相关联的行。但't_calls'中的一行可以属于/仅与_one_'t_people'行关联。 't_calls'应该有一个像'people_id'或类似的字段,它是一个返回't_people'的外键。 –

+1

如果您计算了't_calls'中的行,则每个'people_id'会有多行(或任何外键列) –

+0

此tutsplus页面有一些表示关系的图表http://code.tutsplus.com/文章/ SQL换初学者 - 部分 - 3 - 数据库 - 关系 - 网8561 –

回答

1
SELECT last_name, first_name from t_people p 
    JOIN t_calls c ON (
     p.people_id = c.people_id -- I just assume that is the foreign key 
     AND DATE_SUB(NOW(), INTERVAL 1 MONTH) < c.call_date 
    )