查找和更新值

时间:2013-10-26 06:18:22

标签: sql sqlfire

我有两张桌子;专辑和贷款。我在表贷款中有一个 BorrowerId = RS96FM 已经丢失了内容,因此我想将相册中的ShelfNumber更新为0.但是我不知道如何在第一次这样做必须找到BorrowerId所具有的AlbumCode,然后更改他们在Albums中拥有的任何AlbumCode的ShelfNumber。

以下是我目前的sql语句。

Select  AlbumCode, Performer, AlbumTitle, ShelfNumber, YearReleased, RecordCompanyCode
from    Albums 
where   ShelfNumber =(Select ShelfNumber
                    from    Albums
                    where   AlbumCode =  (Select AlbumCode
                                        from    Loans
                                        where Borrowerid ='RS96FM'
                                        **and update(Shelfnumber) = 0))

2 个答案:

答案 0 :(得分:0)

我想子查询会起作用。以下查询格式适用于sql server。

Update Albums
set ShelfNumber=0
where   AlbumCode in  (Select AlbumCode
                     from    Loans
                     where Borrowerid ='RS96FM')

答案 1 :(得分:0)

您需要使用UPDATE命令。 首先要确保这是你的记录。首先选择:

select * from albums where shelfnumber in (
    select shelfNumber from albums where albumcode in (
    select albumcode from loans where borrowerid='RS96FM'))

如果这是您的记录,请更新:

update albums set shelfnumber=0 where shelfnumber in (
    select shelfNumber from albums where albumcode in (
    select albumcode from loans where borrowerid='RS96FM'))