0

私はほとんど必要なデータを持っています...しかしそれをフィルタリングする助けが必要です。(下の写真)

以下のクエリは、ステータスがMember-id5のすべてのレコードを返しますが、それをフィルタリングする必要があります。例:電気ショック療法で簡単なクエリを実行した場合。(exp_channel_titlesauthor_id323の場合5つの結果が得られます。これらの5つの結果のうち、1つの行にはANDがありstatus = 'Member-id5'、別の行にはstatus = 'complete'ANDがありますtitle = %Member%(これが決定要因であり、行にcompleteとMemberが含まれています)。その行が存在する場合は、行のentry_idを取得してstatus = 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'

ここに画像の説明を入力してください

この図は、author_idとして323のexp_channel_titlesで実行された単純なクエリです。複数の結果があり、クエリを完了するために取得しようとしている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 に答える