为什么我在sqlite内连接上的输出会增加?

时间:2015-04-10 16:21:59

标签: java sqlite join

我有2张桌子..

我将代表数据集阵列....

table1列为t1_id, t1_value

table2列为t2_id, t2_value, t1_id(FK)

  1. table1={{1,data1},{2,data2}};

  2. table2={{1,d1,t1.1},{2,d2,t1.1},{3,d3,t1.2},{4,d4,t1.2}};

  3. 我查询了..

    rs = stmt.executeQuery("SELECT t2_value FROM table2 INNER JOIN table1
                 ON table2.t1_id=(SELECT t1_id FROM table1 WHERE t1_value='my_value');")
    

    我得到了我需要的正确价值但不仅仅是..

    d1
    d2
    

    我得到的是......

    d1
    d2
    d1
    d2
    

    请帮忙!

2 个答案:

答案 0 :(得分:0)

为什么不试试这个:

SELECT t2_value FROM table2 INNER JOIN table1 ON table2.t1_id=table1.t1_id WHERE table1.t1_value='my_value

答案 1 :(得分:0)

SELECT table2.t2_value FROM table2
INNER JOIN table1 ON table2.t1_id = table1.t1_id 
WHERE table1.t1_value='my_value'