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

這給我的帖子,其中possliderrightbelow有限制和偏移PARAMS。使用限制和偏移量只對特定的地方

我需要的是:
- 選擇所有文章與pos = sliderright - 沒有limitoffset
- 加 - 使用limitoffset PARAMS - 與pos = below職位。

它可以使用兩次$stmt完成,但我需要加入兩個選擇一次處理所有選定的帖子。

UPDATE

我想:

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

語法錯誤。

任何幫助?

回答

1

聯盟會爲您工作,因爲兩個查詢都會返回相同的數據集,您可以一次處理所有結果。

$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) 
;"; 
+0

我試過了,但由於某種原因 - 不起作用。請參閱我的更新。 – bonaca

+0

請參閱http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-查詢 – Strawberry

+0

當我編輯時在你的2選擇中使用括號。 – TopCheese