2011-10-07 68 views
1

我想爲我的表中不同類型的動物創建單獨的導出報告。我可以單獨編寫這些報告,但是我有超過200種不同的動物類型,因此運行200個單獨的查詢是不切實際的。從MYSQL查詢中單獨導出

ANIMAL_TABLE 

    AnimalName 
    ----------- 
    CAT 
    DOG 
    MOUSE 
    HORSE 

我基本上是想運行一個類似的查詢

SELECT * INTO OUTFILE '/tmp/ANIMAL-NAME.csv' 
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' 
ESCAPED BY ‘\\’ 
LINES TERMINATED BY '\n' 
FROM ANIMAL_TABLE WHERE 1 

,但有4個CSV文件,而不是一個,有效地在動物類型的每個變化將創建一個新的文件

CAT.csv 
DOG.csv 
MOUSE.csv 
HORSE.csv 

任何幫助,將不勝感激。

+1

我知道你已經使用過它,但調用一個列或變量'ANIMAIL'來表示**動物**將在未來的某個地方造成拼寫錯誤! – Widor

+0

我很好奇郵遞員如何將這匹馬塞進你的郵箱。 – Johan

+0

道歉,拼寫檢查和更多細節添加。感謝您指出它。至於郵寄馬,我要去郵遞員先嚐試尾巴;-) – user965526

回答

1
SELECT * INTO OUTFILE '/tmp/ANIMAL-HORSE.csv' 
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' 
ESCAPED BY ‘\\’ 
LINES TERMINATED BY '\n' 
FROM ANIMAL_TABLE WHERE animal_name LIKE 'horse' 
+0

感謝這個,但是,我有超過200種不同的動物類型,因此運行200個單獨的查詢是不切實際的。 – user965526

+0

您將不得不使用動態sql來構建您的查詢,這不是一件非常困難的任務。只需使用表查詢和一些字符串concatination構建元素,然後將結果用作查詢的輸入,並重復 – Johan