如何从多个表中选择行加入特定键?
我有几个具有相同结构的表build-extras.gradle
。我想在VIEW中选择states(year)
中包含特定用户下表states(year)
中包含的propertyid的行:
properties
收到错误
使用的SELECT语句具有不同的列数
SQLfiddle:http://sqlfiddle.com/#!9/aca397c
答案 0 :(得分:0)
的结构
SELECT *, 2017 AS year FROM states2017
和
SELECT *, 2018 AS year FROM states2018
不一样。第一个表格的最后一列是2017
,而第二个表格的最后一列是2018
,因此无法统一。
要解决此问题,请在两个表中创建多年的公共别名。
CREATE OR REPLACE VIEW selected_states AS
SELECT s.*, p.userID FROM
(SELECT states2017.*, '2017' `Year` FROM states2017
UNION ALL
SELECT states2018.*, '2018' `Year` FROM states2018) s
JOIN properties p ON s.propertyID = p.propertyID WHERE p.userID=1;