我最近遇到了這個問題。我試圖刪除列名上特定字符的行。我通過創建幾個臨時表如下所示:SQL - 逐步過濾
CREATE TEMPORARY TABLE tri1 as
SELECT * FROM loading WHERE postcode != 'n/a';
CREATE TEMPORARY TABLE tri2 as
SELECT * FROM tri1 WHERE postcode != '--';
CREATE TEMPORARY TABLE tri3 as
SELECT * FROM tri2 WHERE postcode != 'n-a';
CREATE TEMPORARY TABLE tri4 as
SELECT * FROM tri3 WHERE postcode != '99999';
這個冗長的解決方案運行良好。
但是我第一次嘗試用這個SQL查詢:
CREATE TEMPORARY TABLE tri1 AS
SELECT * FROM loading WHERE (postcode != 'n/a' OR postcode != '--' OR postcode != 'n-a' OR postcode != '99999');
的問題是,我得到更少的行,當我做了連續級聯臨時表的排序像上面不是返回。
爲什麼?
謝謝。
你能指定模式並給我們一些背景嗎? – 2015-03-19 09:03:51
您好@TimBiegeleisen,您需要什麼樣的上下文,以及您的模式是什麼意思?你的意思是像表或其他東西的架構? – 2015-03-19 09:05:06