繁体   English   中英

为什么我在sqlite内部联接上的输出成倍增加?

[英]Why does my output on sqlite inner join multiplies?

我有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}};

我有一个查询。

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

请帮忙!

为什么不试试这个:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM