テーブルのレイアウトを視覚的に示していますが、私の目標はwn_writing_number_cstm.id_c
フィールドをpreps_contracted_reps.id
に加えることです。明確にするためにMySQL - 既にテーブルにテーブルに参加しています
、何をここで見ることは同じままでなければならない、私は彼らがどこにあるか参加し、それに加えて、契約担当者のための書き込み数をつかむ維持する必要があります。(私が取得する必要がありますtitle_c
フィールド)
ここに私の現在のコードですが、私は複数の結合を試しましたが、私が必要とするものを得るために適切なJOIN
を見つけられないようです。このステートメントは、title_c
フィールドを除き、必要なものすべてを取得します。これは、担当者の書き込み番号に関連しています。
EDIT:追加のJOIN
ステートメントをエイリアスに追加すると、何も返されません。
SELECT
leads.id,
leads.date_entered,
leads.date_modified,
leads.first_name,
leads.last_name,
leads.primary_address_state,
leads.converted,
leads.`status`,
leads.lead_source,
leads_cstm.territory_c,
leads_cstm.contact_status_c,
leads_cstm.campaign_id_c,
leads_cstm.industry_c,
leads_cstm.contract_type_c,
leads_cstm.recruiting_link_sent_c,
preps_contracted_reps.first_name AS rep_first_name,
preps_contracted_reps.last_name AS rep_last_name,
wn_writing_number_cstm.title_c
FROM
leads_wn_writing_number_1_c
JOIN wn_writing_number
ON leads_wn_writing_number_1_c.leads_wn_writing_number_1wn_writing_number_idb = wn_writing_number.id
JOIN leads_cstm
ON leads_wn_writing_number_1_c.leads_wn_writing_number_1leads_ida = leads_cstm.id_c
RIGHT JOIN leads
ON leads.id = leads_cstm.id_c
JOIN wn_writing_number_cstm
ON wn_writing_number.id = wn_writing_number_cstm.id_c
JOIN preps_contracted_reps_wn_writing_number_1_c
ON preps_contracted_reps_wn_writing_number_1_c.preps_contracted_reps_wn_writing_number_1wn_writing_number_idb = wn_writing_number_cstm.wn_writing_number_id_c
JOIN preps_contracted_reps
ON preps_contracted_reps_wn_writing_number_1_c.preps_cont9effed_reps_ida = preps_contracted_reps.id
JOIN preps_contracted_reps AS upline_table
ON upline_table.id = wn_writing_number_cstm.id_c
WHERE
leads.deleted = '0'
GROUP BY
leads.id
私はまた、このような何かをやってみましたが、ここでは、この記事によると:sql server - IN clause with multiple fields。 IN
ステートメントに複数の列を戻すことはできません。これは私に正しいtitle_c
を返します。しかし、下のサブクエリに関連するので、私が上から選択したすべてのフィールドも必要です。
SELECT
preps_contracted_reps.first_name AS rep_first_name,
preps_contracted_reps.last_name AS rep_last_name,
wn_writing_number_cstm.title_c
FROM
preps_contracted_reps_wn_writing_number_1_c
JOIN wn_writing_number_cstm
ON preps_contracted_reps_wn_writing_number_1_c.preps_contracted_reps_wn_writing_number_1wn_writing_number_idb = wn_writing_number_cstm.id_c
JOIN preps_contracted_reps
ON preps_contracted_reps_wn_writing_number_1_c.preps_cont9effed_reps_ida = preps_contracted_reps.id
WHERE
preps_contracted_reps.id IN
(SELECT
preps_contracted_reps.id
FROM
leads_wn_writing_number_1_c
JOIN wn_writing_number
ON leads_wn_writing_number_1_c.leads_wn_writing_number_1wn_writing_number_idb = wn_writing_number.id
JOIN leads_cstm
ON leads_wn_writing_number_1_c.leads_wn_writing_number_1leads_ida = leads_cstm.id_c
RIGHT JOIN leads
ON leads.id = leads_cstm.id_c
JOIN wn_writing_number_cstm
ON wn_writing_number.id = wn_writing_number_cstm.id_c
JOIN preps_contracted_reps_wn_writing_number_1_c
ON preps_contracted_reps_wn_writing_number_1_c.preps_contracted_reps_wn_writing_number_1wn_writing_number_idb = wn_writing_number_cstm.wn_writing_number_id_c
JOIN preps_contracted_reps
ON preps_contracted_reps_wn_writing_number_1_c.preps_cont9effed_reps_ida = preps_contracted_reps.id
WHERE
leads.deleted = '0'
GROUP BY
leads.id)
GROUP BY
preps_contracted_reps.id
EDIT:改訂された文を含めるようにこの質問を更新しました。最初のステートメントは、私が提案したエイリアスを使ってそれらを結合しようとすると、何も返されません。
使用エイリアス.....の – Pred
可能な重複[mysqlのエラー1066](http://stackoverflow.com/questions/13711291/mysql-error-1066)の別名提案と – Pred
更新答え、わかりません私が間違ってやっていることですが、このJOINを使用すると、結果は返されません(エラーはありません)。 この質問は、テーブル名をエイリアスする方法とは関係ありませんが、既に結合されたテーブルでの結合に関連する正しい構文です。 –