iT邦幫忙

0

MYSQL 查詢語法問題

https://ithelp.ithome.com.tw/upload/images/20180822/201108473AMFqK58Ai.png
上述資料中我想要把ACCOUNT1中有文字的資料挑出來因此我用了下面的語法

INSERT INTO `publichistory1`(`TRANSACTIONDATE`, `ACCOUNT1`, `ACCOUNT2`, `AMOUNT`,`DETAIL`) SELECT (`TRANSACTIONDATE`, `ACCOUNT1`, `ACCOUNT2`, `AMOUNT`,`DETAIL`) FROM `publichistory1` WHERE `ACCOUNT1` !=""

但是出現錯誤問題
顯示這串Operand should contain 1 column
想請問一下這應該如何解決

看更多先前的討論...收起先前的討論...
code iT邦新手 5 級 ‧ 2018-08-22 15:30:26 檢舉
我測試了一下,只要你後面那一段SELECT * FROM `publichistory1` WHERE `ACCOUNT1` !="" 就能把有值的抓出來,你在試試看
phes11434 iT邦新手 5 級 ‧ 2018-08-22 15:35:34 檢舉
我把SELECT那段的括號拿掉就可以了,想問一 下有括號為啥會出錯
小魚 iT邦高手 1 級 ‧ 2018-08-22 20:12:43 檢舉
回樓上,沒看過這種寫法...
SELECT 的是欄位為何要加括號

1 個回答

2
最佳解答

這樣…

INSERT INTO `publichistory1`(`TRANSACTIONDATE`, `ACCOUNT1`, `ACCOUNT2`, `AMOUNT`,`DETAIL`) 
SELECT `TRANSACTIONDATE`, `ACCOUNT1`, `ACCOUNT2`, `AMOUNT`,`DETAIL` FROM `publichistory1` WHERE `ACCOUNT1` !=""
看更多先前的回應...收起先前的回應...
phes11434 iT邦新手 5 級 ‧ 2018-08-22 15:34:07 檢舉

我剛剛也是這樣用就出來了(隨便亂改就跑出來)
想清問有括號為啥就會出錯

因為那是它的語法…
http://www.runoob.com/sql/sql-insert-into-select.html

另外也可以改成

INSERT INTO `publichistory1` SELECT * FROM `publichistory1` WHERE `ACCOUNT1` !=""
phes11434 iT邦新手 5 級 ‧ 2018-08-22 15:53:11 檢舉

感謝你的回答

可以的話就結案吧~
/images/emoticon/emoticon28.gif

我要發表回答

立即登入回答