【发布时间】:2012-08-11 01:57:34
【问题描述】:
我似乎无法获得以下查询的结果,以下查询返回 NULL
查询联合
"SELECT isbn
FROM ".TBL_BOOKS."
WHERE rank < 200000 AND rank IS NOT NULL
AND lowest_new_price < amazon_new_price/100*80
AND amazon_new_price < 9999
AND ROUND((amazon_new_price/100*80) - lowest_new_price) > (lowest_new_price/100*".MARGIN.")
UNION
SELECT isbn
FROM ".TBL_BOOKS."
WHERE rank < 200000 AND rank IS NOT NULL
AND lowest_used_price < amazon_used_price/100*80
AND amazon_used_price < 9999
AND amazon_used_price < amazon_new_price
AND ROUND((amazon_used_price/100*80) - lowest_used_price) > (lowest_used_price/100*".MARGIN.")
ORDER BY rank ASC";
但是这两个查询本身就可以正常工作
查询 1
"SELECT isbn
FROM ".TBL_BOOKS."
WHERE rank < 200000 AND rank IS NOT NULL
AND lowest_new_price < amazon_new_price/100*80
AND amazon_new_price < 9999
AND ROUND((amazon_new_price/100*80) - lowest_new_price) > (lowest_new_price/100*".MARGIN.")
ORDER BY rank ASC";
查询 2
" SELECT isbn
FROM ".TBL_BOOKS."
WHERE rank < 200000 AND rank IS NOT NULL
AND lowest_used_price < amazon_used_price/100*80
AND amazon_used_price < 9999
AND amazon_used_price < amazon_new_price
AND ROUND((amazon_used_price/100*80) - lowest_used_price) > (lowest_used_price/100*".MARGIN.")
ORDER BY rank ASC";
如果我分解联合并分别运行两个查询,我不会有任何问题,但由于某种原因,联合查询不起作用,可能是什么问题?谢谢
【问题讨论】:
-
什么不起作用?更准确地告诉我们会发生什么。有没有mysql错误? PHP 错误?
-
请注意,
union会删除重复项。要保留重复项(并节省昂贵的重复项删除),请使用union all -
@Andomar 谢谢你刚刚解决了另一个问题