クライアント テーブルからいくつかのユーザー データを選択し、別のテーブルからいくつかのカスタム フィールド値を選択しようとしています。私の問題は結果をループしているようです。1 つのカスタム値フィールドごとにクライアント行が重複して表示され続けます。
これは、別のテーブルからクライアント アドレスの詳細とクライアントごとの正しい値を取得するための SQL クエリtblcustomfieldvalues
です。
SELECT
tblhosting.userid,
tblclients.id,
tblclients.firstname,
tblclients.city,
tblclients.state,
tblclients.country,
tblclients.postcode,
tblclients.companyname,
tblclients.ip,
tblcustomfields.id,
tblcustomfields.fieldname,
tblcustomfieldsvalues.fieldid,
tblcustomfieldsvalues.value
FROM tblhosting,tblclients,tblcustomfields,tblcustomfieldsvalues
WHERE tblclients.id IS NOT NULL
AND tblclients.id = tblhosting.userid
AND tblcustomfields.id=tblcustomfieldsvalues.fieldid
AND tblcustomfieldsvalues.relid=tblhosting.id
AND tblcustomfieldsvalues.fieldid between 291 and 292
私の問題はtblcustomfieldsvalues
、各クライアントとtblclients
アドレスなどから 2 つの行の値を取得する方法です。
クエリを分割し、while ループと forech ループを使用しようとしましたが、clients テーブルから重複した値を取得し続けます。または、クライアントごとに 1 つの customfieldvalue のみ。