0

エントリの WorkOrderNumber 値が同じである場合は常に、従業員の名前を単一のフィールドに連結しようとしています。

$Data = "SELECT tt.WorkOrderNumber AS WN, 
                SUBSTRING(SELECT tt2.AssignedEmp 
                FROM TestTable AS tt2 
                WHERE tt2.WorkOrderNumber=tt.WorkOrderNumber 
                ORDER BY tt2.AssignedEmp) AS emp
                FROM TestTable AS tt";

このクエリを実行するたびに、サイトでこれが返されます。

警告: odbc_exec(): SQL エラー: [Microsoft][ODBC Microsoft Access Driver] このサブクエリで返されるレコードは最大で 1 つです。

足りないものはありますか?

明確にするために...私は撮影しています:

この形式のデータがあるとしましょう

WorkOrderNumber  AssignedEmp
2012087-28       Jeff      
2012087-28       Bill       
2012087-28       John       

このデータをクエリして、このような結果を得たいのですが...

WorkOrderNumber  Employee            
2012087-28       Jeff,Bill,John       
4

1 に答える 1

2

これは複数のレコードを返しています:

 SELECT tt2.AssignedEmp 
 FROM TestTable AS tt2 
 WHERE tt2.WorkOrderNumber=tt.WorkOrderNumber 
 ORDER BY tt2.AssignedEmp

これはうまくいきません。迅速で汚い修正のためにそれを投げることができTOP (1)ますが、このサブクエリによって返されることを期待しているものは返されていないと思うので、この方法で修正するのはおそらく悪い考えです.

于 2013-03-05T23:10:09.170 に答える