仅在

时间:2017-02-24 19:56:46

标签: php mysql

$stmt = $db->query("SELECT * FROM posts where pos in ('slider', 'right', 'below') limit " . $limit . " offset " . $offset);

这为我提供了possliderrightbelow且有限制和偏移参数的帖子。

我需要的是:
- 选择pos = sliderright的所有帖子 - 不limitoffset - 加上 - pos = below的帖子 - 使用limitoffset参数。

可以使用两次$stmt来完成,但我需要加入两个选项,一次处理所有选定的帖子。

更新

我试过了:

$stmt = $db->query("SELECT * FROM posts where pos in ('slider', 'right')
UNION
(SELECT * FROM posts where pos = 'below' limit 8"); 

语法错误。

任何帮助?

1 个答案:

答案 0 :(得分:1)

Union会为您工作,因为两个查询都会返回相同的数据集,然后您可以立即处理所有结果。

$sql = "
    (select all posts with pos = slider or right - without limit and offset)
    UNION
    (select all posts with pos = below - using limit and offset params)
;";