0

我几乎有我想要的数据......但需要帮助过滤它。(图片在底部)

下面的查询返回状态为 Member-id5 的所有记录,但我需要对其进行过滤。例如:如果我对 ect 做了一个简单的查询。( exp_channel_titles ) 对于author_id 323 我会得到 5 个结果。在这 5 个结果中,一行具有status = 'Member-id5',另一行具有status = 'complete'AND title = %Member%(这是决定因素,其中包含完整和 Member 的行)。如果该行存在,则可以获取行的 entry_idstatus = Member-id5以用于在其中查找 ecd (exp_channel_data) 中的数据。关于我该怎么做的任何想法?附上图片

SELECT
             ect.entry_id
        ,    ect.author_id
        ,    ect.title
        ,    ect.status
        ,    ecd.field_id_13
        ,    ecd.field_id_14
        ,    ecd.field_id_15
        ,    ecd.field_id_25
        ,    ecd.field_id_27
        ,    ecd.field_id_28
        ,    ecd.field_id_29
        ,    ecd.field_id_30
        ,    ecd.field_id_31
        ,    ecd.field_id_32
        ,    ecd.field_id_33
        ,    ecd.field_id_34
        ,    ecd.field_id_35
        ,    exm.email
    FROM exp_channel_titles as ect
    LEFT JOIN exp_channel_data as ecd
      ON ecd.entry_id = ect.entry_id
    LEFT JOIN exp_members as exm
      ON exm.member_id = ect.author_id
WHERE ect.status = 'Members-id5'

在此处输入图像描述

图片只是在 exp_channel_titles 上完成的简单查询,323 为 author_id。它显示如何有多个结果以及我试图获得什么 entry_id 以完成我的查询。entry_id 496 是我想要的,基于 1. 有一行 %Member% 并在其中完成。然后第 496 行的状态为 Members-id5。

4

1 回答 1

1
SELECT ...
FROM exp_channel_titles as ect
  JOIN exp_channel_titles as ect2
    ON (
          ect2.author_id = ect.author_id
      AND ect2.title LIKE '%Member%'
      AND ect2.status = 'complete'
    )
  ...
WHERE ect.status = 'Members-id5'
于 2012-05-09T10:33:55.230 回答