2014-10-17 77 views
0

我想在SQLite中的下水道結構(S_Structures)表上運行條件選擇查詢。該表格包含以下列:struct_type(結構類型)和Year(建造年份)。選擇具有邏輯運算符的查詢作爲子查詢

選擇將基於結構類型以及結構年齡,我認爲我已經整理出了類型選擇位,並且考慮到年齡,我打算從當地時間扣除年份。這是一切優秀和良好,但我如何去定義一個邏輯運算符,子查詢的指定的年齡範圍:2 <年齡< = 5

Select [Year],[Struc_Type] 
FROM [S_Structures] 
WHERE [Struc_Type] NOT IN 
("Manhole", "Rodding Eye", "Dummy", 
    "End Manhole", "T-Piece", "Sub- Catchment", "Top End"); 
AND WHERE (strftime('%Y','now') - Year) > '2' 
AND (strftime('%Y','now') - Year); <= '5'; 

回答

0

子查詢將涉及在括號中額外SELECT 。

只允許一個WHERE子句。

只需使用BETWEEN operator

SELECT [Year], [Struc_Type] 
FROM [S_Structures] 
WHERE [Struc_Type] NOT IN ('Manhole', 'Rodding Eye', 'Dummy', 'End Manhole', 
          'T-Piece', 'Sub-Catchment', 'Top End') 
    AND (strftime('%Y','now') - Year) BETWEEN 3 AND 5;