我在使用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的字符字段。
答案 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
的内容与AJITEM
,AJSTOR
,ILITEM
和ILSTOR
中的值进行比较,但这些是什么类型列,并且所有数据都严格符合该类型?
一种故障排除策略是尝试较小版本的查询,然后逐步添加元素,直到找到错误触发器。在这里,我会分别尝试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>