从具有重复记录的另一个表更新oracle中的表

时间:2017-01-13 18:32:55

标签: sql oracle

我有两张桌子,比如桌子和桌子作者。

表格书有4个字段,BookId,Title,Author,Publisher

表作者有5个字段AuthorID,Title,Author,Publisher,Price

我想更新图书以获取作者的价格字段。没有一个唯一的密钥,因此标准是如果标题或作者或发布者匹配然后将该价格添加到书籍。在我的情况下,作者在标题,作者或发布者中有许多重复的值,因此我会因为重复而得到更新错误。因此,基本上如何在oracle中更新具有该标准的书籍,如果重复,只需选择任何记录,那么将它放在那里并不重要?其他语言有top命令可以用来做这样的事情,但看起来Oracle缺乏这一点。

我自己尝试了各种合并和更新语句而没有运气。类似的东西:

   UPDATE books n
   set n.price = (
   select t.price from authors t where 
   n.title= t.title or
   n.author = t.author or
   n.publisher = t.publisher)

但是该声明不检查重复项并因此停止它们失败,所以我错过了那个键。

1 个答案:

答案 0 :(得分:2)

简单的方法是:

using Android.App;
using Android.Widget;
using Android.OS;
using Android.Graphics;
using Java.IO;

namespace Face_orgnaztion
{
    [Activity(Label = "Face_orgnaztion", MainLauncher = true, Icon = "@drawable/icon")]
    public class MainActivity : Activity
    {
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.Main);


        }
        private void CreateDirectoryForPictures()
        {
            App._dir new File(Environment.GetExternalStoragePublicDirectory(Environment.DirectoryPictures), "Faceorgnaztion");

        }

        public static class App
        {
            public static File _file;
            public static File _dir;
            public static Bitmap bitmap;
        }
    }
}