【发布时间】:2014-05-11 06:26:17
【问题描述】:
请看下面的查询:
tbl_Contents
Content_Id Content_Title Content_Text
10002 New case Study New case Study
10003 New case Study New case Study
10004 New case Study New case Study
10005 New case Study New case Study
10006 New case Study New case Study
10007 New case Study New case Study
10008 New case Study New case Study
10009 New case Study New case Study
10010 SEO News Title SEO News Text
10011 SEO News Title SEO News Text
10012 Publish Contents SEO News Text
tbl_Media
Media_Id Media_Title Content_Id
1000 New case Study 10012
1001 SEO News Title 10010
1002 SEO News Title 10011
1003 Publish Contents 10012
查询
SELECT
C.Content_ID,
C.Content_Title,
M.Media_Id
FROM tbl_Contents C
LEFT JOIN tbl_Media M ON M.Content_Id = C.Content_Id
ORDER BY C.Content_DatePublished ASC
结果
10002 New case Study 2014-03-31 13:39:29.280 NULL
10003 New case Study 2014-03-31 14:23:06.727 NULL
10004 New case Study 2014-03-31 14:25:53.143 NULL
10005 New case Study 2014-03-31 14:26:06.993 NULL
10006 New case Study 2014-03-31 14:30:18.153 NULL
10007 New case Study 2014-03-31 14:30:42.513 NULL
10008 New case Study 2014-03-31 14:31:56.830 NULL
10009 New case Study 2014-03-31 14:35:18.040 NULL
10010 SEO News Title 2014-03-31 15:22:15.983 1001
10011 SEO News Title 2014-03-31 15:22:30.333 1002
10012 Publish 2014-03-31 15:25:11.753 1000
10012 Publish 2014-03-31 15:25:11.753 1003
10012 来了两次...!
我的查询从 tbl_Contents(连接中的左表)返回重复的行
tbl_Contents 中的某些行在 tbl_Media 中有超过 1 个关联的行。 我需要 tbl_Contents 中的所有行,即使 tbl_Media 中存在 Null 值但没有重复记录。
【问题讨论】:
-
这是按设计运行的——行没有重复,它们每个都有不同的
media_id。在您的示例中,您会保留哪一行? -
你的 tbl_Media 中没有 Content_Id。
-
我同意这里没有问题。这是两个不同的行。
-
请检查更新/更正的 tbl_Media - 现在有 Content_Id 列,谢谢
标签: sql join duplicates