2016-04-20 3 views
0

У меня есть запрос, которому необходимо заказать столбец по определенному значению. В настоящее время для act_code Сборы имеют значение «+», у Платежей есть значение «-», а «Награды» имеют значение «=». Мне нужен заказ для оплаты, платежей, вознаграждений, но я получаю платежи, сборы, награды. Когда я запускаю свой запрос, я получаю «Invalid Column Name tcodes.act_code». Вот мой запрос:Таблица заказов по определенным значениям в запросе UNION

SELECT tmptract.soc_sec, 
      name.last_name, 
      name.first_name, 
      name.mi, 
      address.st_addr, 
      address.add_addr, 
      address.add_add2, 
      address.city, 
      address.state, 
      address.zip, 
      tcodes.act_code, 
      '' as employee_soc_sec, 
      2 as bill_type 
     FROM tmptract, 
      name, 
      address, 
      tcodes, 
      transact 
    WHERE tmptract.soc_sec = name.soc_sec 
     AND address.soc_sec = name.soc_sec 
     AND tcodes.tcodes = transact.tcodes 
     AND tmptract.token = '#session.token#' 
    ORDER BY name.last_name, 
      name.first_name, 
      name.mi, 
      tmptract.soc_sec, 
      bill_type, 
      (CASE 
       WHEN tcodes.act_code = '+' THEN '1' 
       WHEN tcodes.act_code = '-' THEN '2' 
       WHEN tcodes.act_code = '=' THEN '3' 
       ELSE tcodes.act_code 
      END) 
+0

также, нет соединения между адресной таблицей и таблицей tcodes? – cableload

+0

Я не вижу UNION? – jarlh

ответ

0

При выборе кода, вы должны сделать то же самое ..

SELECT tmptract.soc_sec, 
      name.last_name, 
      name.first_name, 
      name.mi, 
      address.st_addr, 
      address.add_addr, 
      address.add_add2, 
      address.city, 
      address.state, 
      address.zip, 
      tcodes.act_code, 
      (CASE 
       WHEN tcodes.act_code = '+' THEN '1' 
       WHEN tcodes.act_code = '-' THEN '2' 
       WHEN tcodes.act_code = '=' THEN '3' 
       ELSE tcodes.act_code 
      END) as TCode, 
      '' as employee_soc_sec, 
      2 as bill_type 
     FROM tmptract, 
      name, 
      address, 
      tcodes, 
      transact 
    WHERE tmptract.soc_sec = name.soc_sec 
     AND address.soc_sec = name.soc_sec 
     AND tcodes.tcodes = transact.tcodes 
     AND tmptract.token = '#session.token#' 
    ORDER BY name.last_name, 
      name.first_name, 
      name.mi, 
      tmptract.soc_sec, 
      bill_type, 
      TCode