多対多の関係を持つ 3 つのテーブルからデータを取得したいと考えています。これが私のデータベースのテーブル構造です。
ユーザー
uid[pk] fname lname username
1 John smith johnsmith
アクティビティ
act_id[pk] title
log Account Login
reg Account Registration
ユーザーアクティビティ
serial_number[pk] act_id[fk] user_id[fk] ip_address date time
1 reg 1 2.2.2.2 -
2 log 1 1.1.1.1 -
私はフェッチしようとしています:
title ip_address date time
これが私のmysqliクエリステートメントです:
SELECT a.title, ua.ip_address, ua.date, ua.time FROM users u
LEFT JOIN user_activity ua ON ua.user_id = u.uid
LEFT JOIN activity a ON a.activity_id = ua.act_id
WHERE u.username=?"
データベースからデータをフェッチし、1 つではなく 3 つの結果を取得しています。
Title Ip_address Date Time
Account Login 1.1.1.1 Mon,Nov4 2013 5:5pm
Account Login 1.1.1.1 Mon,Nov4 2013 5:5pm
Account Login 1.1.1.1 Mon,Nov4 2013 5:5pm
DISTICT を使用しましたが、機能しません。私が間違っている場合は修正してください。ありがとう