AS400查询/ Excel ODBC联合错误

时间:2016-09-02 14:43:01

标签: sql db2 odbc union ibm-midrange

我在使用Excel为AS400 / DB2系统进行查询时遇到问题。

我尝试使用具有不同信息的两个不同的表,但是根据特定的SKU /客户ID(Storer)返回同一列中的过道/插槽。我认为UNION会工作,但我得到了一个" SQL0802 - 数据转换或数据映射错误"尝试运行查询时。

这就是我现在所拥有的:

SELECT ADJTRAN.AJAISL AS AISLE, ADJTRAN.AJSLOT AS SLOT
FROM S216F06V.WDLSDATA.ADJTRAN ADJTRAN
WHERE (AJITEM=8011989 AND AJSTOR=581)
UNION
SELECT ILCATER.ILAISL AS AISLE, ILCATER.ILSLOT AS SLOT
FROM S216F06V.WDLSDATA.ILCATER ILCATER
WHERE (ILITEM=8011989 AND ILSTOR=581)

任何帮助都将不胜感激。

编辑:AJAISL,AJSLOT,ILAISL和ILSLOT是长度为4的字符字段。

3 个答案:

答案 0 :(得分:0)

根据所选列中的数据进行猜测,CAST()CONVERT()可能会对您有所帮助。

尝试类似 -

SELECT CAST( ADJTRAN.AJAISL AS VARCHAR(128) ) AS AISLE, 
       CAST( ADJTRAN.AJSLOT AS VARCHAR(128) ) AS SLOT
...
UNION
SELECT CAST( ILCATER.ILAISL AS VARCHAR(128) ) AS AISLE, 
       CAST( ILCATER.ILSLOT AS VARCHAR(128) ) AS SLOT` 
...

已添加

鉴于所有选定的列都是相同的数据类型,它可能是有争议的测试列之一。

您将INTEGER的内容与AJITEMAJSTORILITEMILSTOR中的值进行比较,但这些是什么类型列,并且所有数据都严格符合该类型?

一种故障排除策略是尝试较小版本的查询,然后逐步添加元素,直到找到错误触发器。在这里,我会分别尝试UNION的每个部分,至少,如果不是WHERE ... AND中的一个元素。

答案 1 :(得分:0)

有时Excel有错误...你能试试吗:

Class Program    
{
    public void NewMethodName(var newVarName)
    {
        //Do the same thing
    }
}

答案 2 :(得分:0)

AJITEM和ILITEM是VARCHAR(20)。我把它与INT进行比较。修复了以下代码,零问题。我没有在原来的问题中陈述这一点而忽略了这么简单的错误。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rl_custom_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="2dp"
    android:background="#ab2fc4"
    >
    <ImageButton
        android:id="@+id/ib_close"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@mipmap/ic_launcher"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:background="@null"
        />
    <TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This is a sample popup window."
        android:layout_centerInParent="true"
        android:padding="25sp"
        />
</RelativeLayout>