2014-02-22 27 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 
    )