2014-10-06 58 views
0
SELECT MAX(PRC_MIN_LENGTH) PRC_MIN_LENGTH, MIN(PRC_MAX_LENGTH) PRC_MAX_LENGTH, MAX(PRC_MIN_WIDTH) PRC_MIN_WIDTH, MIN(PRC_MAX_WIDTH) PRC_MAX_WIDTH 
FROM (

SELECT PRDT_PRICE_CODE, MIN(PRC_MIN_LENGTH) PRC_MIN_LENGTH, MAX(PRC_MAX_LENGTH) PRC_MAX_LENGTH, MIN(PRC_MIN_WIDTH) PRC_MIN_WIDTH, MAX(PRC_MAX_WIDTH) PRC_MAX_WIDTH 
FROM PRODUCT_PRICE_INFO 
WHERE PRDT_PRICE_CODE 
IN (

SELECT PRDT_PRICE_CODE 
FROM PRODUCT 
WHERE PRODUCT_ID =1 
UNION SELECT PRDT_PRICE_CODE 
FROM PRODUCT_OPTION 
WHERE PROD_OPT_ID 
IN (
'1', '101', '201', '303', '401' 
) 
) 
AND CURDATE() 
BETWEEN DATE_SUB(CURDATE() , INTERVAL 1 
DAY) 
AND DATE_ADD(CURDATE() , INTERVAL 1 
DAY) 
GROUP BY PRDT_PRICE_CODE 
)PRC_RANGE 

此查询在MySQL数据库而不是在SQLite的运行运行。MySQL查询不SQLite中

错误在哪里,我该如何解决这个问题?

+0

你会得到什么错误? – Cyclonecode 2014-10-06 21:31:18

+0

接近“1”:语法错误: – Chidhambaram 2014-10-06 21:31:47

+0

我在想'也许'INTERVAL'不能在'sqlite'中工作,请阅读http://www.sqlite.org/lang_datefunc.html并尝试找到替换。 – Cyclonecode 2014-10-06 21:34:29

回答

0

SQLite使用不同的date functions。 你会写这样的日期比较:

... 
AND date('now') BETWEEN date('now', '-1 days') 
        AND date('now', '+1 days') 
... 

(这是一个忠实的翻译,而且会使查询运行,但它是值得怀疑的,这个查询做了你的MySQL或SQLite的想要的东西。)

+0

我已经像上面那样改变了,但结果是空的,如何解决这个问题。 – Chidhambaram 2014-10-07 08:03:15