(SQLite和C#) 我有这个小问题。见这2个表。 1.是父母,2。是孩子
我应该从父表中获取“broj_goluba”以匹配子表中的“par_m”和“par_z”,稍后只需在datagridview中显示它。
Foregin键应该有助于快速完成任务,但是当我编写代码时,我有更多的代码行而不是使用外键。
有人可以帮助我并写下使用外键时我的代码(编辑:SQL查询)的样子。
答案 0 :(得分:1)
外键不存在以“帮助快速完成任务”。它们的存在是为了强制数据完整性。坦率地说,我不知道你编写的T-SQL代码行数是如何依赖于是否存在外键。
以下查询存根可以帮助您开始查询:
Select Table1.broj_goluba, Table2.par_z ...
From Table1
Inner Join Table2 on Table1.ID = Table2.par_m
答案 1 :(得分: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)