访问追加查询与表比较

时间:2018-12-04 12:31:54

标签: sql ms-access sql-insert

我目前正在重建凌乱的Access数据库,遇到了以下问题:

我有一张设施表,其中包含一个称为区的行。这些行包含一个链接到另一个表的数字,该表仅包含地区的数字和名称。我添加了一个查找列,其中显示了地区名称。

我现在想根据旧行中的数据为每一行更改新列。

设施

newdatafeat

困难

ERROR TypeError: newdatafeat_1.filter is not a function

我想要以下内容: 设施

     @Override
     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            try {
                audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0);
            }
            catch (Exception e) {
                 Toast.makeText(mContext, "Error)", Toast.LENGTH_SHORT).show();
            }

            show(sDefaultTimeout, fromUser);
      }

public void show(int timeout, boolean fromUser) {
        if (!mShowing && mAnchor != null) {

            FrameLayout.LayoutParams tlp = new FrameLayout.LayoutParams(
                    ViewGroup.LayoutParams.WRAP_CONTENT,
                    ViewGroup.LayoutParams.MATCH_PARENT,
                    Gravity.RIGHT | Gravity.TOP
            );

            mAnchor.addView(this, tlp);
            mShowing = true;
        }
        if(fromUser)// prevent infinitive recursive
             updateCurrentSoundValue();

        Message msg = mHandler.obtainMessage(FADE_OUT);
        if (timeout != 0) {
            mHandler.removeMessages(FADE_OUT);
            mHandler.sendMessageDelayed(msg, timeout);
        }
 }

“地区”字段(查找)获取其数据,如下所示NAME|..|DISTRICT_OLD A |..| 1 B |..| 2 C |..| 1 ...

(感谢Gordon Linoff)我可以获得查询,但现在确实很难处理插入操作。我可以获得我想要的数据:

ID|NAME
1 |EAST
2 |WEST
...

如果我尝试NAME|..|DISTRICT_OLD|DISTRICT A |..| 1|EAST B |..| 2|WEST C |..| 1|EAST ... ,它说是Typerror。 如何修改数据以使其与查询列兼容? 我想我也需要选择ID,这没问题,但是错误在很多列中显示。

我希望我没有记错任何名称,我的Access未使用英语。

你能帮我吗?

Fabian

1 个答案:

答案 0 :(得分:1)

查阅列是数字(长整数)

对于关系数据库,您只需要包含ID的一列(因为您总是通过查询来查找district.name),因此:

INSERT INTO Facilities(DISTRICT) SELECT 4

其中4是您想要的查询表中记录的ID,或更妙的是:

INSERT INTO Facilities(DISTRICT) 
    SELECT ID FROM DISTRICTS 
        where District.Name = "Name you want the ID for"