0
我有以下代碼,如果我將代碼作爲sql腳本運行,但如果我想從中創建視圖,則出現此錯誤:1166 - 錯誤的列名''mysql union all創建視圖時
select `c`.`package_id` AS `package_id`,
`c`.`student_id` AS `student_id`,
`bs`.`name` AS `stud_name`,
`c`.`payed_date` AS `payed_date`,
(case `c`.`type` when 'e' then 'Vizsgadíj' when 'c' then 'Tanfolyam díj' else '' end) AS `name`,
`c`.`course_price` AS `price`,
`c`.`pay_form` AS `pay_form`,
`c`.`venue_id` AS `venue_id`
from (`bma_student_pays` `c`
join `bma_students` `bs` on((`bs`.`id` = `c`.`student_id`)))
union all
select '0' AS `0`,'0' AS `0`,'' AS ``,`e`.`making_date` AS `making_date`,`e`.`name` AS `name`,`e`.`price` AS `price`,`e`.`type` AS `type`,`e`.`venue_id` AS `venue_id`
from `bma_extra_makings` `e`
union all
select '','','',i.inv_due,i.inv_name,i.inv_amount,i.`mode`,i.venue_id
from bma_invoices i
where i.inv_type='K'
任何幫助都會很好。
謝謝!
我會upvote這個,如果我可以:)我認爲你有它! – Chris 2013-05-01 19:07:17
此外,所有列在第一個查詢中都是別名。不需要(也可能不正確)將聯合查詢中的列別名與第一個查詢中的列別名不同。 OP可以完全關閉第二個查詢的別名。 – 2013-05-01 19:08:34
@DanJ:絕對,但是這不會破壞視圖的創建。 – PinnyM 2013-05-01 19:14:48