更新: 我找出了导致我的问题的很大一部分。当我查询数据库以查找数据类型时,它为 t2.sale_code 正确返回了 CHAR(4)。
但是,GUI 不显示前导零。t3.sale_code 在填充表格的文件中没有前导零。这就是造成我困惑的原因,我纠正了零问题。现在它无需任何 CAST 或其他操作即可加入。
__ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ ____ _我有一个问题:
SELECT
t1.id, t2.sale_code, t3.sale_code, t3.title
FROM
t1
INNER JOIN t2 ON t1.id = t2.id
INNER JOIN t3 ON t3.id = t2.id
有一些我无法控制的不同的一对多关系会导致重复。我需要这样做:
WHERE
t2.sale_code = t3.sale_code
但是,这行不通。我不确定我做错了什么。我可以手动使它工作:
SELECT
t1.id, t2.sale_code, t3.sale_code, t3.title
FROM
t1
INNER JOIN t2 ON t1.id = t2.id
AND t2.dt > t1.dt_active
AND t2.dt < t1.dt_inactive
INNER JOIN t3 ON t3.id = t2.id
WHERE
t2.sale_code = 4
AND t3.sale_code = 4
例如,这将返回一对正确匹配的sale_code
'。但是,当我直接比较它们时(`WHERE t2.sale_code = t3.sale_code),它不会返回任何结果。我在这里做错了吗?