0

小さなことであなたの助けが必要です。最初のテーブルから人の名前とIDのリストを取得するために必要な2つのテーブルがあります。次に、このリストを使用して、これらの人々に関連付けられているサービスを取得します。サービスを識別するために名前とIDの両方が必要であることに注意してください。

クエリは次のようになります。

$query = "SELECT id, name from person where customerType='specificType';
$result = mysql_query($query,$this->connection); 

その後、このクエリの結果をループして、サービスリストを取得します。

While ($list=mysql_fetch_array($result))
{
     $query = "SELECT serviceID, serviceName from services 
     where assignedToName='".$list['name']."' and assignedToID=".$list['id'];
 $result2 = mysql_query($query,$this->connection);

if(!$result2 || mysql_num_rows($result2) <= 0)
{//I do nothing}
else{
  if(isset($servicesList))
      { 
          //Here is the part that is not working, How to combine the results??
     $servicesList .= $result;
      } 

      else $servicesList=$result;
    }
}
//End While


if(isset($servicesList))
{ return $servicesList;}else { 
return 'error';

}

前もって感謝します...

4

1 に答える 1

3

joinクエリを1つだけ使用することを検討してください。

このようなもの:

SELECT 
  p.id, 
  p.name, 
  s.serviceID, 
  s.serviceName 
FROM 
  person p 
LEFT JOIN 
  services s
ON 
  (p.id = s.assignedToID 
  AND 
  p.name = s.assignedToName)
WHERE 
  p.customerType='specificType'
于 2013-03-24T14:51:56.373 に答える