我在这里创建一个视图。
这是一个例子。
表1:
time,date,label,count 12:00 AM,1-Jan,A,10 12:30 AM,1-Jan,A,10 1:00 AM,1-Jan,A,19 1:30 AM,1-Jan,B,14 2:00 AM,1-Jan,B,18 2:30 AM,1-Jan,B,13 3:00 AM,1-Jan,C,20 3:30 AM,1-Jan,C,16 4:00 AM,1-Jan,C,12 4:30 AM,1-Jan,D,10 5:00 AM,1-Jan,D,16 5:30 AM,1-Jan,D,18
表2:
label,category A,Apple B,Ball C,Cat E,Elephant
查看:
time,date,label,category,count 12:00 AM,1-Jan,A,Apple,10 12:30 AM,1-Jan,A,Apple,10 1:00 AM,1-Jan,A,Apple,19 1:30 AM,1-Jan,B,Ball,14 2:00 AM,1-Jan,B,Ball,18 2:30 AM,1-Jan,B,Ball,13 3:00 AM,1-Jan,C,Cat,20 3:30 AM,1-Jan,C,Cat,16 4:00 AM,1-Jan,C,Cat,12 4:30 AM,1-Jan,D, ,10 5:00 AM,1-Jan,D, ,16 5:30 AM,1-Jan,D, ,18
查看脚本:
CREATE OR REPLACE VIEW queue_interval_wise AS SELECT t1.Time, t1.Date, t1.Label, t2.Category, t1.Count FROM Table1 t1, Table2 t2 WHERE t1.Label = t2.Table2
当我运行该脚本时,我得到的行数多于Table1
中的行数。
无论我使用WHERE
子句还是LEFT JOIN
,结果都与Table1
的行数不匹配。
有人让我知道我在做错的地方。
答案 0 :(得分:0)
试试这个:
CREATE OR REPLACE VIEW queue_interval_wise AS
SELECT DISTINCT
t1.Time,
t1.Date,
t1.Label,
IFNULL(t2.Category, ''),
t1.Count
FROM Table1 t1
LEFT JOIN Table2 t2 ON t1.Label = t2.Label