SQL查询解决方案 [英] SQL Query Solution
问题描述
SELECT * FROM TB_PERSONAL_INFO INFO,TB_DATA_MASTER DATA
WHERE INFO.CARDNO = DATA.CARDNO
AND DATA.PDATE BETWEEN '21 -JAN-2019' AND '21 -JAN-2019'
$
AND DATA.SECTIONNM IN('Admin')
AND DATA.CARDNO ='AAPO0027'
AND OTORG ='N'
AND INFO.SHIFT ='G'
AND INFO.WORKERTYPE ='Staff'
AND DATA.EXITTIME_V IS NOT NULL
$
$
UPDATE TB_DATA_MASTER DATA,TB_PERSONAL_INFO INFO
SET DATA.EXITTIME_V = '19:0'|| SUBSTR(DATA.EXITTIME_V,5),
OTHR_V = 0
WHERE INFO.CARDNO = DATA.CARDNO
AND DATA.PDATE BETWEEN '21 -JAN-2019'和'21 -JAN-2019'¥b $ b AND DATA。 SECTIONNM IN('Admin')
AND DATA.CARDNO ='AAPO0027'
AND OTORG ='N'
AND INFO.SHIFT = 'G'
AND INFO.WORKERTYPE ='员工'
AND DATA.EXITTIME_V不为空
SELECT * FROM TB_PERSONAL_INFO INFO, TB_DATA_MASTER DATA
WHERE INFO.CARDNO = DATA.CARDNO
AND DATA.PDATE BETWEEN '21-JAN-2019' AND '21-JAN-2019'
AND DATA.SECTIONNM IN ('Admin')
AND DATA.CARDNO = 'AAPO0027'
AND OTORG = 'N'
AND INFO.SHIFT = 'G'
AND INFO.WORKERTYPE = 'Staff'
AND DATA.EXITTIME_V IS NOT NULL
UPDATE TB_DATA_MASTER DATA, TB_PERSONAL_INFO INFO
SET DATA.EXITTIME_V = '19:0'||SUBSTR(DATA.EXITTIME_V,5),
OTHR_V = 0
WHERE INFO.CARDNO = DATA.CARDNO
AND DATA.PDATE BETWEEN '21-JAN-2019' AND '21-JAN-2019'
AND DATA.SECTIONNM IN ('Admin')
AND DATA.CARDNO = 'AAPO0027'
AND OTORG = 'N'
AND INFO.SHIFT = 'G'
AND INFO.WORKERTYPE = 'Staff'
AND DATA.EXITTIME_V IS NOT NULL
当我查询更新函数时,它表示set keyword missing ..任何解决方案请
when i query update function it says set keyword missing.. any solution pls.
推荐答案
UPDATE语法是不正确
the UPDATE syntax is not correct
它应该是这个
UPDATE DATA
SET DATA.EXITTIME_V = '19:0'||SUBSTR(DATA.EXITTIME_V,5),
OTHR_V = 0
FROM TB_DATA_MASTER DATA, TB_PERSONAL_INFO INFO
WHERE INFO.CARDNO = DATA.CARDNO
AND DATA.PDATE BETWEEN '21-JAN-2019' AND '21-JAN-2019'
AND DATA.SECTIONNM IN ('Admin')
AND DATA.CARDNO = 'AAPO0027'
AND OTORG = 'N'
AND INFO.SHIFT = 'G'
AND INFO.WORKERTYPE = 'Staff'
AND DATA.EXITTIME_V IS NOT NULL
我希望你使用的是Oracle看到语法
I hope you're using Oracle seeing the syntax
请注意,此论坛适用于MS SQLServer
Please note that this forum is for MS SQLServer
因为这样的解决方案保证只能在SQLServer中使用
As such solution here are guaranteed to work in SQLServer only
我上面给出的是基于ANSI语法
What I've given above is based on ANSI syntax
你可以在Oracle中试试这个
You can try this in Oracle
如果它不起作用请在一些Oracle论坛中发布问题
If it doesnt work please post the question in some Oracle forums
这篇关于SQL查询解决方案的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!