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
的每个文件中获取的数据。
例如,文件(abcd.xls)包含以下数据:
abcd.xls
xyz1
xyz2
xyz3
xyz1 <--duplicate
xyz2 <--duplicate
xyz3 <--duplicate
tbl_C
包含重复数据。
如果tbl_A
上已有数据,tbl_C
将记录来自tbl_A
(ID_tbl_A
)的ID,
并记录来自tbl_B
(ID_tbl_B
)的ID来自哪个文件。
例如,来自上面的例子
(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
我甚至无法完成查询,因为我无法提出解决方案。有人可以与我分享他们的想法吗?
答案 0 :(得分:0)
根据我对你的问题的理解,你应该尝试这样的事情:
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?那部分对我没有意义。