SQL語句,寫了不少,但一直用的是等於,對於三張表,這邊有數據,那邊沒有,
就會比較麻煩,數據就不全。最開始用窮舉解決,很麻煩,現在用左鏈接省了很多事。
再用存儲過程,以前要一天的事(用SQL查出數據,用Excel處理),現在兩秒鍾就解決了。
過去用三張表(a 、b、c)查詢合並成一張表用等於的窮舉語句寫法:
1、a 有銷售、b有銷售、c有銷售;
2、a有銷售、b有銷售、c無銷售;C對應的字段就用0填充。
3、a有銷售、b無銷售、c有銷售;b對應的字段就用0填充。
4、a有銷售、b無銷售、c無銷售;b、c對應的字段用0填充。
5、a無銷售、b有銷售、c有銷售;a對應的字段就用0填充。
6、a無銷售、b有銷售、c無銷售;a、C對應的字段就用0填充。
7、a無銷售、b無銷售、c有銷售;a、b對應的字段就用0填充。
8、a無銷售、b無銷售、c無銷售;這種情況就可以不用了。
一看就很麻煩,有時還把自己饒暈了。
現在用左鏈接,寫法如下:
1、先把三張表共同的字段取出去掉重復項放進一個臨時表;
2、用臨時表左鏈接a表,空值賦值為0;
3、用上面的結果再左鏈接b表,空值賦值為0;
4、再用上面的結果再左鏈接C表,空值賦值為0;
再把語句放入過程里,把區域設置為輸入參數,在執行過程時直接輸入區域,兩秒搞定。