-4

DB にチケットが多すぎる顧客がいて、これらのチケットのステータスが多すぎます。status!='Closed' のチケットの場合にのみ、顧客のチケット番号を取得できるクエリが必要です。それ以外の場合は、null を返す必要があります。

あなたの迅速な対応は高く評価されています。

編集:これが私のクエリです:

SELECT CASE WHEN custom_field_3 != 'Closed' THEN item_id ELSE NULL END AS ticketID 
FROM aims_items 
WHERE custom_field_22 =221226

それは今動作します、そしてここに私の解決策があります:

SELECT CASE WHEN ( SELECT COUNT(*) FROM aim_items WHERE custom_field_3 != 'Closed' AND custom_field_22 =221226 )>0 THEN item_id ELSE NULL END AS ticketID FROM aim_items WHERE custom_field_3 != 'Closed' AND custom_field_22 =221226 ご協力ありがとうございました。

4

2 に答える 2

0

テーブル構造がなければ、何が問題なのかを評価することはできません。あなたの説明から、次のような簡単なクエリ

SELECT item_id from aim_items WHERE custom_field_3 != 'Closed' AND custom_field_22 = 221226

十分でしょう。その後、返された行数を数えて結果を判断できます。

ただし、結果として null を返す必要がある場合は、次のことを試してください。

SELECT (SELECT item_id from aim_items WHERE custom_field_3 != 'Closed' AND custom_field_22 = 221226) AS ticketID

上記は、基本的な選択をサブクエリにカプセル化し、null の結果を提供します。

于 2013-01-08T13:10:09.860 に答える
0

このクエリを試してください:

SELECT IF(custom_field_3!='Closed',item_id,'') as ticketID FROM `aims_items`

テーブルにある正確なフィールドを書いていないことを覚えておいてください。これは、お見せするための単なる例です。詳細については、以下のリンクを参照してください
http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html

于 2013-01-08T13:14:09.143 に答える