我以前从未做过像这样的联接
基本上,我有2个具有以下结构的表:categories:
- id - int
- name - varchar
- show_in_menu - varchar
- sort_order - int
pages:
- id - int
- name - varchar
- show_in_menu - varchar
- sort_order - int
我试图编写一个查询,它将选择所有类别和页面并将它们吐出一个列表,以便它们按sort_order字段排序,我只想选择show_in_menu =='是'的行。问题是我想在两个表中按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
任何帮助将不胜感激......
答案 0 :(得分:1)
您可以尝试联合查询:
SELECT * FROM categories
WHERE show_in_menu = 'Yes'
UNION
SELECT * FROM pages
WHERE show_in_menu = 'Yes'
ORDER BY sort_order