2

ユーザー定義の MYSQL 変数の文字列値を印刷されたテーブルにどのように表示しますか?

例:

これ...

SELECT CONCAT_WS(  ' ', o.FirstName, o.LastName ) AS FirstLast,
`Company` 
FROM Orders o
    

これをくれ..

|---------------|----------|    
|   FirstLast   | Company  |
|---------------|----------|
| First1 Last1  | Company1 |
| First2 Last2  | Company2 |
| First3 Last3  | Company3 |
| First4 Last4  | Company4 |
|---------------|----------|    

でもこれは...

SELECT @firstlast = CONCAT_WS(  ' ', o.FirstName, o.LastName ),
`Company` 
FROM Orders o

これをくれる...

|-------------------------------------------------------------|----------|
|   @firstlast = CONCAT_WS(  ' ', o.FirstName, o.LastName )   | Company  |
|-------------------------------------------------------------|----------|
|                                                       NULL  | Company1 |
|                                                       NULL  | Company2 |
|                                                       NULL  | Company3 |
|                                                       NULL  | Company4 |
|-------------------------------------------------------------|----------|

明らかにこれは間違っていますが、何が間違っているのかわかりません。

値を「印刷」または表示するにはどうすればよいですか? 変数を正しく作成したかどうかさえわかりません!

どんな方向性や指針も素晴らしいでしょう。

4

1 に答える 1

4

=演算子は比較用です。@firstlastですのでNULL、比較の結果は ですNULL

代入演算子は:=.

@firstlast := CONCAT_WS(' ', o.FirstName, o.LastName) 

もちろん、あなたの特定の例では、変数を使用する利点はありません。

于 2012-04-25T19:47:22.290 に答える