2012-01-27 20 views
4

このSQLの結果を配列に渡しています。この配列は、入力中に動作するテキストボックスの提案となります。人が複数の予定を持っていても、それぞれの名前を1回だけ返すようにします。現在のところ、この名前の人のためのすべての予定を返します。 "Brad Robins"に5つの予定があり、 "Brad"と入力すると、「Brad Robins」が5回表示されます。同じSQL文でSELECT DISTINCTとCONCATを使用する方法

私にとっては、DISTINCTとCONCATはうまく一緒に演奏されていないようです。

+0

の異なる連結(....) を選択あなたのプログラムに最終出力の予定表...なぜあなたはそれに最初に参加していますか? – lyrisey

+0

私は後で他の情報を使用しますが、それを分けて2つのクエリを実行するだけで簡単に名前を残しました。 – radleybobins

答えて

3

名前の部分だけでなく、すべての列の行全体が区別されます...予定が異なる日付/時刻、場所などにある場合、それらはすべて出てきます。表示したいものがNAME部分である場合は、残りの他のコンテンツを取り除きます。人が選択された後に利用可能な予定を照会する。

+0

応答をありがとう、私はこれを試し、あなたに戻って取得します。 – radleybobins

5

問題は他のフィールドです。 DISTINCTは全体の結果に適用されます。たぶん、最良のことは、クエリを分離したり、2つの異なる配列に移入したりすることです。 ORDER BYの名前の場合は、名前が変更されたときにのみdest配列にコピーすることによって重複を削除できます。

+1

応答をありがとう、私はこれを試し、あなたに戻ってきます。 – radleybobins

+1

これらの回答は両方とも正しいものであり、同時に提出されました。申し訳ありませんが、両方とも正しいとは言えません。御時間ありがとうございます! – radleybobins

+0

私はあまりにもあなたの投票をポニーアップするので、少なくとも10ポイント+ ... – DRapp

4

でDISTINCT、使用グループを使用しないでください。このアクセスの外側場合

$sql = "SELECT CONCAT(clients.studentFirstName, ' ', clients.studentLastName) AS name, appointments.location, appointments.subLocation, appointments.appointmentAddress1, appointments.appointmentAddress2, appointments.appointmentCity, appointments.appointmentState, appointments.appointmentZip, appointments.startTime, appointments.endTime, appointments.date, clients.school 
       FROM appointments JOIN clients 
       ON appointments.clientID = clients.clientID 
       WHERE CONCAT(clients.studentFirstName, ' ', clients.studentLastName) = '".$roommate."' AND clients.school = '".$school."' group by CONCAT(clients.studentFirstName, ' ', clients.studentLastName);"; 

また$の学校と$ザ・ルームメイトにXSSに関する注意してください。

+0

非常に良い解決策!私はすでに最初の2つの答えに基づいて2つのクエリに切り替えましたが、次回はこれを覚えています! – radleybobins

1

あなたはそれぞれの名前の一つだけを返すようにクエリを引き起こすことになる、最後に

group by name 

を使用することができますが、その後、あなたは、クライアントが持っている場合には返却されますどのような約束の結果を予測することはできません複数のアポイントメントがあり、クエリは非常に便利ではありません。

他の人が指摘したように、おそらく、クライアントが選択された後に予定のリストを取得するだけでよいでしょう。

0

このクエリの唯一の目的は、ユーザーに提案する名前のリストを返すことで、あなたが実際に使用していない場合より....

+1

著者の質問とはあまり変わらないようです。著者のコードが何が間違っているかを明確にすると良いでしょう – bashnesnos

関連する問題