0

我想创建页面来索引我拥有的所有标题。

我想为每个标题打印第一个字。

例如我有这样的标题

  1. 标题1
  2. 标题2
  3. 标题3
  4. vtitle4

所以,我想创建这样的索引

A
atitle1
atitle2

B
btitle3

V
vtitle4

我在这里尝试

SELECT * FROM master_post, 
      category_relation, 
      category WHERE category_relation.id_mp = master_post.id_mp 
      AND category_relation.id_c = category.id_c
      AND category.slug_c = 'dorama' AND 1 ORDER BY master_post.judul_mp ASC

我不确定,但我认为它使用Distinct. 我在这里Distinct创建

SELECT DISTINCT LEFT(judul_mp, 1) AS firstletter FROM master_post WHERE judul_mp = :judul_mp

但我不知道如何加入我的distinct代码,我尝试了一下,但出错了。

4

1 回答 1

1

你可以这样做:

SELECT mp.judul_mp as str
FROM master_post mp JOIN 
     category_relation cr
     ON mp.id_mp = cr.id_mp JOIN
     category c
     ON cr.id_c = categcry.id_c
WHERE c.slug_c = 'dorama'
UNION ALL
SELECT DISTINCT LEFT(mp.judul_mp, 1)
FROM master_post mp JOIN 
     category_relation cr
     ON mp.id_mp = cr.id_mp JOIN
     category c
     ON cr.id_c = categcry.id_c
WHERE c.slug_c = 'dorama'
ORDER BY str;

注意使用正确的、明确的、标准 JOIN的语法。不要在FROM子句中使用逗号。

于 2018-09-23T12:17:01.450 回答