0

(SQLite 和 C#)我有这个小问题。见那两张表。1.是父母,2.是孩子

家长

孩子

我应该从父表中获取“broj_goluba”以匹配子表中的“par_m”和“par_z”,然后将其显示在 datagridview 中。

外键应该有助于快速完成工作,但是当我编写代码时,与不使用外键相比,我有更多的代码行。

有人可以帮我写下我的代码(编辑:SQL 查询)在使用外键时的样子。

4

2 回答 2

1

我知道你需要的是,但它不需要做任何与速度有关的事情。也许你的意思是INDEX而不是FOREIGN KEY

SELECT BROJ_GOLUBA
FROM TABLE1
INNER JOIN TABLE2 ON (TABLE1.ID = TABLE2.PAR_M OR TABLE1.ID = TABLE2.PAR_J)

或者,也许您需要两个值相等:

SELECT BROJ_GOLUBA
FROM TABLE1
INNER JOIN TABLE2 ON (TABLE1.ID = TABLE2.PAR_M AND TABLE1.ID = TABLE2.PAR_J)
于 2013-01-03T20:14:16.037 回答
1

不存在“帮助快速完成工作”的外键。它们的存在是为了强制数据完整性。坦率地说,我看不出您编写的 T-SQL 代码的行数如何取决于外键是否存在。

以下查询存根应该可以帮助您开始查询:

Select Table1.broj_goluba, Table2.par_z ...
From Table1
Inner Join Table2 on Table1.ID = Table2.par_m
于 2013-01-03T20:10:18.273 回答