Как объединить и отсортировать столбцы? MySQL, CF8, MS Access 2003 - PullRequest
0 голосов
/ 18 августа 2010

Я хочу создать алфавитный список имен, созданный сложением двух столбцов имен, columnA и columnB.

Я пробовал это:

<cfquery name="listAuthors" datasource="hhLibrary">
SELECT title, (a1_Fname + a2_Fname) AS ColumnA, (a1_Lname + a2_Lname) AS ColumnB
FROM books
WHERE ColumnB LIKE '#firstletter#%'
ORDER BY ColumnB
</cfquery>

это ошибкаКод: слишком мало параметров.Ожидается 1.

любая помощь очень ценится.

oregonHoney

Ответы [ 2 ]

0 голосов
/ 19 августа 2010

В Jet / ACE SQL вы не можете поместить предложение WHERE или ORDER BY в псевдоним имени поля - вы должны повторить выражение, на которое ссылается псевдоним. Итак, замените это:

  SELECT title, (a1_Fname + a2_Fname) AS ColumnA, (a1_Lname + a2_Lname) AS ColumnB
  FROM books
  WHERE ColumnB LIKE '#firstletter#%'
  ORDER BY ColumnB

... с этим:

  SELECT title, (a1_Fname + a2_Fname) AS ColumnA, (a1_Lname + a2_Lname) AS ColumnB
  FROM books
  WHERE a1_Lname + a2_Lname LIKE '#firstletter#%'
  ORDER BY a1_Lname + a2_Lname

Если у вас установлен Access, я настоятельно рекомендую вам протестировать SQL в интерактивном Access, в QBE. Вы бы быстро обнаружили, что это так, если бы вы просто попробовали это в Access.

0 голосов
/ 18 августа 2010

Обновление:

select *
from (
    SELECT title, a1_Lname as Name
    FROM books  
    WHERE a1_Lname LIKE '#firstletter#%' 
    UNION ALL
    SELECT title, a2_Lname as Name
    FROM books  
    WHERE a2_Lname LIKE '#firstletter#%' 
) a
ORDER BY Name
...