私は2つのテーブルを持っていpostsますpages. テーブルにはpostsテーブルよりも多くの列がありpagesますが、それ以外はスキーマに関しては同じです。
aslugが指定されている場合、右側の行がテーブルまたはテーブルにslug存在する可能性があります。みたいなことを考えていたpagesposts
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