重複の可能性:
クエリ結果に空白行を含める
SQLクエリの一番上にある結果セットに空の行を追加したいと思います。
私が使用しているクエリは次のとおりです。
SELECT
PROFILETITLE, DOCID
FROM
PROFILES
WHERE
COMPANYCODE = ?
ORDER BY
PROFILETITLE
重複の可能性:
クエリ結果に空白行を含める
SQLクエリの一番上にある結果セットに空の行を追加したいと思います。
私が使用しているクエリは次のとおりです。
SELECT
PROFILETITLE, DOCID
FROM
PROFILES
WHERE
COMPANYCODE = ?
ORDER BY
PROFILETITLE
使用してみてくださいunion all
SELECT null as PROFILETITLE, null as DOCID
UNION ALL
SELECT PROFILETITLE, DOCID
FROM PROFILES
WHERE COMPANYCODE=?
ORDER BY PROFILETITLE
ただし、ヘッダーを追加しない場合、およびタイプの場合DOCID
は、以下を使用する必要があります。int
union all
cast
SELECT 'PROFILETITLE' as PROFILETITLE, 'DOCID' as DOCID
UNION ALL
SELECT PROFILETITLE, CAST ( DOCID AS varchar(30) )
FROM PROFILES
WHERE COMPANYCODE=?
ORDER BY PROFILETITLE
これを試して:
SELECT '' AS PROFILETITLE, 0 AS DOCID
UNION ALL
SELECT PROFILETITLE, DOCID
FROM PROFILES WHERE COMPANYCODE = ?
ORDER BY PROFILETITLE
、および他のすべてのセット操作を使用する場合UNION
、列は型で一致する必要があるため、最初の2つの空の値をPROFILETITLE
とでエイリアス化する必要があることに注意してくださいDOCID
。また、正しく機能するためには、2つの列のタイプも一致するように注意する必要があります。とNULL
の代わりに選択する必要があるかもしれません。''
0
varchar
すべての列が次のように空である場合は、「空の行」を追加できます''
。
SELECT PROFILETITLE, DOCID
FROM PROFILES
WHERE ...
UNION ALL
SELECT '' AS PROFILETITLE, '' AS DOCID
ORDER BY
CASE WHEN PROFILETITLE='' AND DOCID='' THEN 0 ELSE 1 END ASC
, PROFILETITLE ASC
SQLを使用できますUnion
SELECT PROFILETITLE, DOCID
FROM PROFILES
WHERE COMPANYCODE=? ORDER BY PROFILETITLE
UNION ALL
SELECT 0, ''
FROM SYSIBM.SYSDUMMY1
SYSIBM.SYSDUMMY1を一時テーブルに置き換えることができます
組合全員がその仕事をするだろう
SELECT
'' as PROFILETITLE,
'' as DOCID
UNION ALL
SELECT PROFILETITLE, DOCID
FROM PROFILES
WHERE COMPANYCODE=? ORDER BY PROFILETITLE