2012-04-25 18 views
2

IVEは一見単純な私は

前に、次のように参加し、基本的に、私は以下の構造を持つ2つのテーブルを持ってやったことがない把握傾ける参加しますカテゴリとページを並べ替え、sort_orderフィールドで並べ替えるようにリストに吐き出し、show_in_menu == 'Yes'の行だけを選択します。問題は、私はこれは両方のテーブル内SORT_ORDERで注文することにしたいの例です:私は本当に私のクエリを終了する方法を見当もつかない

page 1 - (sort order of 0) 
page 2 - (sort order of 1) 
category 1 - (sort order of 2) 
page 4 - (sort order of 3) 
category 7 - (sort order of 4) 

、ここにある:

select c.*, p.* 
from `categories` as c 
join `pages` as p 

任意のヘルプは次のようになり大歓迎...

答えて

1

あなたはユニオンクエリを試みることができる:

SELECT * FROM categories 
WHERE show_in_menu = 'Yes' 
UNION 
SELECT * FROM pages 
WHERE show_in_menu = 'Yes' 
ORDER BY sort_order 

http://w3schools.com/sql/sql_union.asp

+0

質問で予想通りに動作させるには、注文のためにカッコを選択する必要があります。 – piotrm

関連する問題