我的查詢:SQL 2個相同的行
SELECT CONCAT(f.name, ' ', f.parent_names) AS FullName,
stts.name AS 'Status',
u.name AS Unit,
city.name AS City,
hus.mobile1 AS HusbandPhone,
wife.mobile1 AS WifePhone,
f.phone AS HomePhone,
f.contact_initiation_date AS InitDate,
fh.created_at AS StatusChangeDate,
cmt.created_at AS CommentDate,
cmt.comment AS LastComment
FROM families f
JOIN categories stts ON f.family_status_cat_id = stts.id
JOIN units u ON f.unit_id = u.id
JOIN categories city ON f.main_city_cat_id = city.id
JOIN contacts hus ON f.husband_id = hus.id
JOIN contacts wife ON f.wife_id = wife.id
JOIN comments cmt ON f.id = cmt.commentable_id
AND cmt.created_at =
(SELECT MAX(created_at)
FROM comments
WHERE commentable_id = f.id)
JOIN family_histories fh ON f.id = fh.family_id
AND fh.created_at =
(SELECT MAX(created_at)
FROM family_histories
WHERE family_id = f.id
AND family_history_cat_id = 1422)
WHERE f.id = 17883
問:結果是2行 - 但它們是相同的。爲什麼我會得到2個結果,而不僅僅是一個?
這取決於您的表格結構和表格中的數據。你可以在你的問題中添加相關表結構的描述嗎? – Melanie 2013-03-04 20:45:05
這是由於JOIN。使用'DISTINCT'關鍵字來獲得不同的行。 – 2013-03-04 20:45:58
JOIN中使用的哪個ID是**保證**(不只是假設)是** unique **? – 2013-03-04 20:47:11