带有外键

时间:2015-11-07 01:59:01

标签: sql database sqlite foreign-keys

在sqlite数据库中,我有两个表:" 物质"和" 密度"列" id name " (对于物质表)和" id substanceid 密度" (对于密度表)。 substanceid 有一个外键(引用物质表的 id )。 substanceid 是UNIQUE,因此两个表中的行数相同(每行对应一个 physicalid

我想为某个 substanceid 更新密度名称,即每个表中的一行,但是在语法上有点挣扎用于更新物质表。

我可以使用密度表进行更新:

UPDATE densities
SET density = obj.getDensity()
WHERE id = obj.getId();

obj包含( id,密度,名称),但不包含 substanceId

对于物质表,我想写一些类似的内容:

UPDATE substances
SET name = obj.getName()
WHERE id = ???

" ???"在散文中将是:

densities.substanceid,其中densities.i = obj.getId

我如何在SQLite中写这个?

1 个答案:

答案 0 :(得分:1)

只需使用标量子查询:

private double ReturnDiffereceBetweenTwoDatesInMonths(DateTime startDateTime, DateTime endDateTime)
{
    double result = 0;
    double days = 0;
    DateTime currentDateTime = startDateTime;
    while (endDateTime > currentDateTime.AddMonths(1))
    {
        result ++;

        currentDateTime = currentDateTime.AddMonths(1);
    }

    if (endDateTime > currentDateTime)
    {
        days = endDateTime.Subtract(currentDateTime).TotalDays;

    }
    return result + days/endDateTime.GetMonthDays;
}