2017-09-08 5 views
0

私はmysqlを初めて使っていて、運が無ければこの作業をすることができました。 私は3つのテーブルに参加しています。私は日付ごとに最新のレコードを持つ行と3番目のテーブルを結合しようとしています。 は、ここで私は、列follow_up_dateに持っていないので、私は本当に混乱しています「フィールドリスト」mysqlの最近の日付でローに参加する

に次のエラー

不明な列「mf.follow_up_date」を取得し、私のmysqlのクエリ

SELECT mg.region_name, mu.contact_person, 
    mu.contact_number, mu.status, mu.company_name, mu.user_type, MAX(mf.follow_up_date), mf.date, mu.user_id 
FROM p1006_marketing_group as mg 
JOIN p1006_marketing_users as mu ON mg.id = mu.region_id 
JOIN (SELECT user_id_fk,MAX(follow_up_date) 
     FROM p1006_marketing_follow_up) as mf 
    ON mu.user_id = mf.user_id_fk 
    WHERE mu.user_id_done = "" AND (mg.id = 3 OR mg.id = 7 OR mg.id = 6) 
GROUP BY mf.user_id_fk 

です。

、それがどのように見えるので、私はあなたがあなたのサブクエリ内でごMAX(follow_up_date)を得忘れた

+0

ユーザーID別のグループを使用しない限り、2回目の結合では1行だけが返されます。 –

+0

あなたのクエリは完全なエラーです。あなたの質問を編集し、最初に、質問が何をしているのかについて2-3文を与えてください。これ以上の時間がある場合は、サンプルと予想される出力を追加してください。私は答えを公式化することすらできないほど多くの問題を抱えています。 –

+0

@TimBiegeleisen、私はそれをできるだけ早く行います..あなたの時間のおかげで –

答えて

1

可能任意のヘルプ、別名

編集クエリを本当にgreateful次のようになります。

MAX(follow_up_date) as follow_up_date 

クエリには、集約関数の一部ではない約8個の列を含む選択リストなど、その他の問題がありますが、グループごとに1つの列のみが表示されます。これはMySQLで機能するかもしれませんが(設定されていれば)列ごとに不足しているグループを記入することができるので、異なるデータベースシステムを使用する他の雇用における将来の問題を避けるために、それらを指定する習慣に実際に入るはずです

+0

助けてくれてありがとう、それはエラーの世話をしましたが、今私は何らかの理由でnull配列を取得しています。また、時間を取って貴重な提案を述べてくれてありがとう。 ia mこれは本当に新しいので、すべてのヘルプが必要です –

+0

'!null配列'によって '私のクエリは結果を返していません'という意味なら、where節を削除してもう一度実行してから、あなたがなぜそれを見つけますか? where句がなくても結果が得られない場合は、1つ以上の結合に問題があります(結合に一致するレコードはありません)。 –

+0

私はそれを試します..あなたの時間と労力のためにたくさんありがとうございます –

1

MAX列のエイリアスがありません。

SELECT 
    mg.region_name, mu.contact_person, mu.contact_number, mu.status, 
    mu.company_name, mu.user_type, MAX(mf.follow_up_date), mf.date, mu.user_id 

FROM p1006_marketing_group as mg 
JOIN p1006_marketing_users as mu ON mg.id = mu.region_id 
JOIN (SELECT user_id_fk,MAX(follow_up_date) 'follow_up_date' FROM p1006_marketing_follow_up) as mf ON mu.user_id = mf.user_id_fk 
WHERE mu.user_id_done = "" AND (mg.id = 3 OR mg.id = 7 OR mg.id = 6) 
GROUP BY mf.user_id_fk 
+0

そこにエコーがありますか? :) –

+0

助けてくれてありがとう、それはエラーの世話をしたが、私はまだ何らかの理由でnull配列を取得しています。:( –

関連する問題