私は2つのテーブルを持っていposts
ますpages
. テーブルにはposts
テーブルよりも多くの列がありpages
ますが、それ以外はスキーマに関しては同じです。
aslug
が指定されている場合、右側の行がテーブルまたはテーブルにslug
存在する可能性があります。みたいなことを考えていたpages
posts
SELECT *
FROM pages
WHERE slug = 'about'
UNION
SELECT *
FROM posts
WHERE slug = 'about'
slug
ただし、「about」の行が両方のテーブルにある必要があります。おそらく簡単INNER JOIN
に使用できるものがありますが、SQL の知識は限られています。
明確にするために、両方のテーブルを 1 つのテーブルのように検索できるようにしたいと考えています。
posts
テーブル構造は次のとおりです。
`slug` varchar(128) NOT NULL,
`id` varchar(100) NOT NULL,
`title` text NOT NULL,
`published` bigint(20) NOT NULL,
`content` longtext NOT NULL,
`author` text NOT NULL,
`status` enum('published','draft','trashed') NOT NULL
そしてpages
構造:
`slug` varchar(128) NOT NULL,
`id` varchar(100) NOT NULL,
`title` text NOT NULL,
`content` longtext NOT NULL,
`menu_order` int(11) DEFAULT NULL,
`status` enum('published','drafted','trashed') NOT NULL