2011-07-26 20 views
1

に通貨記号を追加しようとすると:私は次のSQLクエリを持っているMySQLの

  mshiptype_name  mshipsold  value 
      --------------  ---------  ----- 
      gold     3    3800.00 
      silver    4    4800.00 

その罰金は、私がこのような結果を得ることができます。

SELECT mshipType_Name, 
     COUNT('x') AS mshipssold, 
     sum(memberToMship_InductionFee+memberToMship_JoinFee+ 
      (IF(mshipOption_Period='year', 
      TIMESTAMPDIFF (YEAR ,memberToMship_StartDate, memberToMship_EndDate), 
      TIMESTAMPDIFF (MONTH ,memberToMship_StartDate, memberToMship_EndDate)) * memberToMship_ChargePerPeriod)) as value 
FROM membertomships 
    INNER JOIN mshipoptions on membertomships.mshipOption_Id = mshipoptions.mshipOption_Id 
    INNER JOIN mshiptypes on mshipoptions.mshipType_Id = mshiptypes.mshipType_Id 
WHERE memberToMship_StartDate BETWEEN '2011-06-26' AND '2011-07-26' 
GROUP BY mshipType_Name; 

それは、このような結果が表示されますポンド記号は値で追加されました:

  mshiptype_name  mshipsold  value 
      --------------  ---------  ----- 
      gold     3    £ 3800.00 
      silver    4    £ 4800.00 

MySQLクエリで可能ですか?

変形QUERY:

  SELECT set names utf-8,mshipType_Name, COUNT('x') AS mshipssold, 
           CONCAT('£', sum(memberToMship_InductionFee+memberToMship_JoinFee+ 
            (IF(mshipOption_Period='year', 
            TIMESTAMPDIFF (YEAR ,memberToMship_StartDate, memberToMship_EndDate), 
            TIMESTAMPDIFF (MONTH ,memberToMship_StartDate, memberToMship_EndDate)) * memberToMship_ChargePerPeriod))) as value 
           FROM membertomships 
           inner join mshipoptions on membertomships.mshipOption_Id = mshipoptions.mshipOption_Id 
           inner join mshiptypes on mshipoptions.mshipType_Id = mshiptypes.mshipType_Id 
           WHERE memberToMship_StartDate BETWEEN '2011-06-26' AND '2011-07-26' 
           GROUP BY mshipType_Name; 





    Error Code: 1064 
     You have an error in your SQL syntax; check the manual that corresponds to your  MySQL server version for the right syntax to use near 'set names utf-8,mshipType_Name, COUNT('x') AS mshipssold, 
        ' at line 1 

答えて

0

はい、してみてください:

set names utf8; 
SELECT mshipType_Name, COUNT('x') AS mshipssold, 
           sum(memberToMship_InductionFee+memberToMship_JoinFee+ 
            (IF(mshipOption_Period='year', 
            TIMESTAMPDIFF (YEAR ,memberToMship_StartDate, memberToMship_EndDate), 
            CONCAT('£ ', TIMESTAMPDIFF (MONTH ,memberToMship_StartDate, memberToMship_EndDate)) * memberToMship_ChargePerPeriod))) as value 
           FROM membertomships 
           inner join mshipoptions on membertomships.mshipOption_Id = mshipoptions.mshipOption_Id 
           inner join mshiptypes on mshipoptions.mshipType_Id = mshiptypes.mshipType_Id 
           WHERE memberToMship_StartDate BETWEEN '2011-06-26' AND '2011-07-26' 
           GROUP BY mshipType_Name; 
+0

あなたが現在データベースに、導入されたINRのように、どのように我々は '£' やその他の記号を書くことができます教えてくださいすることができますプログラミングエディタ.. ?? 今のところ私はこれを書く方法がわかりません:( –

+0

いいえ記号が表示されていません – user682417

+0

@ Tudor Constantin:このことについて知っていると思いますので、 –

関連する問題