select PRDT_CUS.CUS_NO,TF_MO.QTY_RSV,MF_MO.STA_DD from PRDT_CUS left outer join TF_MO on TF_MO.PRD_NO=PRDT_CUS.PRD_NO left outer join MF_MO on TF_MO.MO_NO=MF_MO.MO_NO where PRDT_CUS.CUS_NO='C-CH0001'
调试欢乐多
select c.CUS_NO,a.QTY_RSV,b.STA_DD
from TF_MO a
join MF_MO b on a.MO_NO=a.MO_NO
right join PRDT_CUS c on a.PRD_NO=c.PRD_NO
where c.CUS_NO='C-CH0001'
select b.CUS_NO,a.QTY_RSV,a.STA_DD
from(
select a.PRD_NO,a.QTY_RSV,b.STA_DD
from TF_MO a join MF_MO b on a.MO_NO=a.MO_NO
) a right join PRDT_CUS b on a.PRD_NO=b.PRD_NO
where b.CUS_NO='C-CH0001'
from TF_MO a
inner join MF_MO b on a.MO_NO=a.MO_NO
right join PRDT_CUS c on a.PRD_NO=c.PRD_NO
where c.CUS_NO='C-CH0001'
set CUS_NO=ltrim(cus_no)
我现在把三个表的结构贴出来,请大家分析分析我先把情况说明一下
MF_MO的MO_NO主键(不能重复)一条记录等于“001”,可能在TF_MO里有多条MO_NO等于“001”的记录,而目前所需要的记录是TF_MO的全部记录,TF_MO里的PRD_NO与PRDT_CUS里PRDT_CUS里的PRD_NO相符关连,而要符全PRDT_CUS的CUS_NOS要等于字符串“C-CH0001”的条件。
MF_MO(表一)
MO_NO varchar 10
MO_DD datetime 8
STA_DD datetime 8
END_DD datetime 8
BIL_ID varchar 2
BIL_NO varchar 10
MRP_NO varchar 30
WH varchar 4
SO_NO varchar 12
UNIT varchar 1
QTY numeric 13
QTY1 numeric 13
NEED_DD datetime 8
DEP varchar 4
CUS_NO varchar 12
CLOSE_ID varchar 1
USR varchar 8
CHK_MAN varchar 8
BAT_NO varchar 20
REM text 16
PO_OK varchar 1
MO_NO_ADD varchar 25
QTY_FIN numeric 13
TIME_AJ numeric 13
QTY_ML numeric 13
BUILD_BIL text 16
CST_MAKE numeric 13
CST_PRD numeric 13
CST_OUT numeric 13
CST_MAN numeric 13
USED_TIME numeric 13
CST numeric 13
PRT_SW varchar 1
OPN_DD datetime 8
FIN_DD datetime 8
BIL_MAK varchar 1
CPY_SW varchar 1
CONTRACT varchar 80
EST_ITM smallint 2
ML_OK varchar 1
MD_NO varchar 200
QTY_RK numeric 13
CLS_DATE datetime 8
ID_NO varchar 28
QTY_CHK numeric 13
PRD_MARK varchar 16
CONTROL varchar 1
ISNORMAL varchar 1
QC_YN varchar 1
MM_CURML varchar 1
TS_ID varchar 1
PRDT_CUS(表二)
PRD_NO varchar 20
CUS_NO varchar 12
PRD_NO_SUP varchar 40
UP_SPC numeric 13
DIS_RTO numeric 13
REM varchar 100
PO_DAYS smallint 2
QTY_LOW numeric 13
UNIT varchar 1
UP_TW numeric 13
PRD_NAME_SUP varchar 40
LOSS numeric 13
PO_RTO numeric 13
RTO_TAX numeric 13
TF_MO(表三)
MO_NO varchar 10
ITM smallint 2
PRD_NO varchar 20
PRD_NAME varchar 40
WH varchar 4
UNIT varchar 1
QTY_RSV numeric 13
QTY_LOST numeric 13
QTY numeric 13
BAT_NO varchar 20
REM varchar 200
CST numeric 13
ZC_NO varchar 10
TW_ID varchar 1
ZC_REM text 16
USEIN varchar 100
CPY_SW varchar 1
USEIN_NO varchar 40
PRD_NO_CHG varchar 200
QTY1_RSV numeric 13
QTY1_LOST numeric 13
ID_NO varchar 28
MD_NO varchar 200
PRD_MARK varchar 16
QTY_TS numeric 13
TS_ITM smallint 2
先加一个星号试试看
PRDT_CUS.CUS_NO,
TF_MO.QTY_RSV,
MF_MO.STA_DD
from MF_MO,
TF_MO,
PRDT_CUS
where MF_MO.MO_NO=TF_MO.MO_NO
and TF_MO.PRD_NO=*PRDT_CUS.PRD_NO
and PRDT_CUS.CUS_NO='C-CH0001'
这样不行的话,先封住MF_MO.MO_NO=TF_MO.MO_NO条件看看行不行
如果有数据,这样调试一下