[英]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.