0

我有 3 个表,它们使用类别代码和标识代码来确定一个唯一值,我们称之为记录。存在具有相同标识代码和不同类别代码的值,因此我需要为 3 个表中的每一个连接这两个值。

我对 SQL 很陌生,所以我可能犯了一个简单的错误,但我的第三个表的结果与返回行的其余结果不一致。

我最好的猜测是 b/c 我有多个表 a 的结果,但表 c 只有 1 个结果,但表 b 也是如此,表 b 的数据是准确的。

示例代码

select a.category_code,
   a.identification_code,
   a.multiple_values,
   b.date,
   c.unique_value        

from table_1 a 
join table_2 b
on a.category_code = b.category_code
and a.identification_code = b.identification_code
join table_3 c 
on c.category_code = a.category_code
and c.identification_code = a.identification_code
Where a.multiple_values in ('a', 'b', 'c', 'd', 'e', 'f')
and trunc(b.date) >= '01-MAY-2013'
and trunc(b.date) <= '31-MAY-2013'

样本结果

category_code/ identification_code/ multiple_values /   date      / unique_value
1520        /     557892211       /        a        / 05/25/2013  /    Iowa
1520        /     557892211       /        b        / 05/25/2013  /    Utah
1520        /     557892211       /        c        / 05/25/2013  /    Arizona
1520        /     557892211       /        d        / 05/25/2013  /    Texas
1520        /     557892211       /        e        / 05/25/2013  /    Arkansas
1520        /     557892211       /        f        / 05/25/2013  /    Kansas

我遇到的问题是在实际数据中,1520-557892211 的唯一值是爱荷华州,但我只得到了一次正确的值,而对于我的其余数据,唯一值没有正确映射。

4

0 回答 0