2013-11-25 17 views
0

兩個表和視圖的列我有兩個表想要兩個使用日期,但查詢加盟有錯誤加入使用日期

CREATE TABLE `reg_data3` (
    `date` date NOT NULL, 
    `time` time NOT NULL, 
    `rainfall` float default NULL, 
    `evep` float default NULL, 
    `max_temp` float default NULL, 
    `min_temp` float default NULL, 
    `sunshine_hrs` float default NULL, 
    PRIMARY KEY (`date`) 
) 
ENGINE=MyISAM 
DEFAULT CHARSET=latin1; 

CREATE TABLE `velocity` (
    `date` date NOT NULL, 
    `run` float NOT NULL, 
    `velocity` float NOT NULL 
) 
ENGINE=MyISAM 
DEFAULT CHARSET=latin1; 

查詢

SELECT 
    A.date, 
    A.rainfall, 
    A.evep, 
    A.max_temp, 
    A.min_temp, 
    A.sunshine_hrs, 
    B.run, 
    B.velocity 
FROM 
    reg_data3 A 
    INNER JOIN velocity B 
    ON A.date = B.date 
WHERE 
    year(DATE_FORMAT(date, '%y-%m-%d'))='2008' AND 
    month(DATE_FORMAT(date, '%y-%m-%d'))='04' 
ORDER BY 
    A.date ;` 

顯示誤差= column 'date' in where clause is ambiguous

+0

是的,您忘記了別名! –

+0

錯誤是不言自明的_Display錯誤=列'日期'在where子句ambiguous_。含糊不清/不清楚。將表別名放在字段前面:WHERE year(DATE_FORMAT(date,'%y-%m-%d'))='2008'' – AgRizzo

回答

0

這是你的

DATE_FORMAT(date, '%y-%m-%d') 

部分在WHERE語句中,您需要量化日期列(A或B),就像您在其他地方一樣

+0

謝謝我是mysql的學員 – SasinduRHN