表详细信息:
CREATE TABLE Test2 (ID INT, Value INT, other INT);
创建表Test1(ID INT,TYPE INT,其他INT);
插入测试2值(123456、5、12);插入测试2值(123456、10、17);
插入测试 1 值 (123456, 00, 2); 插入测试 1 值 (123456, 01, 6); 插入测试 1 值 (123456, 02, 4);
插入测试 1 值 (987654, 00, 7); 插入测试 1 值 (987654, 01, 8);
插入测试 1 值 (456789, 00, 6); 插入测试 1 值 (456789, 01, 16);
这是我用来避免表测试重复的查询
SELECT DISTINCT t1.ID, t1.TYPE, t1.other, t2.value
FROM Test1 t1 INNER JOIN Test2 t2 ON t1.ID = t2.ID GROUP BY t1.ID, t1.TYPE, t1.other, t2.value ORDER通过 t1.ID ASC;
查询结果:
ID TYPE 其他值 123456 0 2 5 123456 0 2 10 123456 1 6 5 123456 1 6 10 123456 2 4 5 123456 2 4 10
描述:
预期结果是,当我从表中获取匹配记录时。应该从左表(Test1)中获取没有重复记录的记录,并避免从右表(Test2)中获取重复记录。
参考检查图片
预期的查询结果是,
23456 0 2 5 123456 1 6 10 123456 2 4
SQL小提琴链接