我有两张桌子 - 预订和住宿。 我希望获得数据直到1.7。从表格住宿和1.7。来自bookingcom
我尝试用代码实现它:
SELECT
CASE
WHEN DATE(created) <= DATE("2015-07-01") THEN [ROI:ROI_accomodation.created]
ELSE [ROI:bookingcom.created]
END AS date
FROM
ROI.bookingcom,
ROI.ROI_accomodation
但我得到以下错误:
Field 'ROI:bookingcom.created' does not exist in any union input schema.
你能帮忙,我犯错了吗? 感谢
答案 0 :(得分:0)
从概念上讲,你的错误是你的case when then
语句需要在每一行的两个表之间做出选择,这只有在你加入它们时才有可能,但你取而代之的是你的联盟。
我的印象是你在同一个日期并不真正需要两张桌子,你只需要第一张桌子直到7月1日(我假设你想要7月1日而不是1月7日),然后第二个表。如果这是正确的,你可以做类似
的事情from
(select column1,column2,column3 from ROI:bookingcom where date(created) <= date('2015-07-01')),
(select column1,column2,column3 from ROI:ROI_accomodation where date(created) > date('2015-07-01'))