私は2つのテーブルのこのような構造を持っています:
z_notes:
| i_resident_id | resident_fname | resident_lname | i_communication_log | facility_id | dt_note_created |
ユーザーの役割:
| fk_role_id | fk_user_id |
z_notes で実行することを意図したクエリは、正常に機能しており、完全に機能しています。ここにあります。
"SELECT `i_resident_id` AS ID, resident_fname AS FirstName, `resident_lname` AS LastName,
SUM(CASE i_communication_log WHEN 1 THEN 1 ELSE 0 END ) AS Critical_Notes,
SUM(CASE i_communication_log WHEN 0 THEN 1 ELSE 0 END ) AS Routine_Notes,
SUM(1) AS Total_Notes
FROM z_notes
WHERE dt_note_created > '$from'
AND dt_note_created < '$to' AND
facility_id = '$facility_id'
GROUP BY v_resident_fname
ORDER BY Total_Notes $asc_des";
これは以下を返します:
ID | FirstName | LastName | Critical_Notes | Routine_Notes | Total_Notes
これは、上記のクエリで結合が必要な場所です。外部キーは次のように作成されます。
i_resident_id
へのz_notes
リンクfk_user_id
user_roles
したがって、i_resident_id
役割fk_role_id
== 4 の居住者 ( ) はクエリから除外する必要があります。つまり、「4」であってはならないテーブルに列がi_resident_id
あると等しいようなものであるWhere句にもっとある必要があります。fk_user_id
fk_role_id
ご意見をお待ちしております。:)