繁体   English   中英

SQL分组和删除重复项

[英]SQL grouping and removing duplicates

tbl_A

ID    data   ID_tbl_B
1     xyz1     15
2     xyz2     15
3     xyz3     15

tbl_B   (table for which file the data were taken, or table for filenames)
ID      ID_user       filename 
15      10            abcd.xls
16      10            abcd2.xls
17      10            abcd3.xls

tbl_C   (table for duplicates from tbl_A)
ID        ID_tbl_B     ID_tbl_A       
4           15          1              
5           15          2
6           15          3
7           16          1
8           16          2
8           16          2
9           17          1
10          17          2

tbl_A包含从tbl_B每个文件中获取的tbl_B 例如,文件(abcd.xls)包含以下数据:

abcd.xls
xyz1
xyz2
xyz3
xyz1   <--duplicate
xyz2   <--duplicate
xyz3   <--duplicate

tbl_C包含重复数据。 如果数据已经存在于tbl_A ,则tbl_C将记录来自tbl_A的ID( ID_tbl_A ),并且还将记录来自tbl_B的ID( ID_tbl_B )。 例如,从上面的示例

(tbl_C breakdown)
abcd.xls
ID        ID_tbl_B     ID_tbl_A 
4           15          1              
5           15          2
6           15          3

abcd2.xls
ID        ID_tbl_B     ID_tbl_A 
7           16          1
8           16          2
8           16          2

abcd3.xls
ID        ID_tbl_B     ID_tbl_A 
9           17          1
10          17          2

sql查询应输出以下内容:

tbl_A(data) 

xyz1
xyz2
xyz3
xyz1
xyz2
xyz1
xyz2

我已经坚持了一天,到目前为止,这是我正在处理的查询

SELECT data FROM `tbl_A`
LEFT JOIN `tbl_B` ON `tbl_A`.ID_tbl_B = `tbl_B`.ID
LEFT JOIN `tbl_C` ON `tbl_C`.
WHERE `tbl_B`.ID_user = 10

我什至无法完成查询,因为我无法完全提出解决方案。.有人可以与我分享他们的想法吗?

根据我对您问题的了解,您应该尝试执行以下操作:

SELECT distict ta.data FROM tbl_c tc JOIN tbl_B tb ON tc.ID_tbl_B = tb.ID JOIN tbl_A ta ON tc.ID_tbl_A = ta.ID WHERE tb.ID_user = 10

尽管为什么在tbl_c中会有两个记录,它们具有相同的tbl_a和tbl_b ID? 那部分对我来说毫无意义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM