2 つのテーブルの 2 つのフィールドを結合する次のクエリがあります。
<cfquery name="SearchResult" datasource="MyDSN">
SELECT CONCAT(titles.TitleName, ', ', platforms.PlatformAbbreviation) AS Result
FROM
games
Inner Join platforms ON games.PlatformID = platforms.PlatformID
Inner Join titles ON titles.TitleID = games.TitleID
WHERE
UCase(titleName) LIKE Ucase('#ARGUMENTS.SearchString#%')
</cfquery>
<cfreturn ValueList(SearchResult.Result)>
このコードを使用して、Ajax を介して検索フィールドに入力しています。CONCAT 関数は、タイトル名とプラットフォームの略語を結合します。SQL を実行すると、これが確認されるだけです。ただし、結果が Ajax を介して返されると、TitleName のみが返されます。文字列の残りの部分が欠落しています。
例:「タイトル名、プラットフォーム」を期待していますが、「タイトル名」はプラットフォームの数だけ繰り返されます。私は何を間違っていますか?
参考までに、私のテーブル構造は次のとおりです。
platforms(platformID*, platformAbbreviation)
titles(titleID*, titleName)
games(gameID*,platformID*, titleID*)