私は今変えてる私は私のデータベースクエリで使用される次のSQL構文(SQL Serverなど)SQL Server Compactのは、副選択を許可しませんが、内側には、テキストデータ型で許可されていないGROUPBYに参加
SELECT Nieuwsbrief.ID
, Nieuwsbrief.Titel
, Nieuwsbrief.Brief
, Nieuwsbrief.NieuwsbriefTypeCode
, (SELECT COUNT(*) AS Expr1
FROM NieuwsbriefCommentaar
WHERE (Nieuwsbrief.ID = NieuwsbriefCommentaar.NieuwsbriefID
AND NieuwsbriefCommentaar.Goedgekeurd = 1)) AS AantalCommentaren
FROM Nieuwsbrief
を持っていますsql-server-ce(コンパクトエディション)では、このようなサブクエリを使用できません。提案された解決策:inner join
。しかし、サブテーブル 'NieuwsbriefCommentaar
'のカウントだけが必要なので、結果セットの倍数を避けるために、ベーステーブル属性に 'group by
'句を使用する必要があります。
ただし、 'Nieuwbrief.Brief
'属性のデータ型は 'text
'です。 「text
」データ型のグループバイ句はsql-server-ce
には許可されません。 'Text
'データ型は廃止されましたが、はまだ 'nvarchar(max)
'をサポートしていません...
これを解決する方法はありますか?あなたの助けにThx。
こんにちはJosemiguel、 THXのため:編集が
あなたの入力。ただし、サブテーブルi.cをカウントするとNieuwsbriefCommenta.NieuwsbriefID、SELECT句の他の属性にグループ化が必要です。 SQLceエンジンによってスローされたエラー: '集計およびグループ化式でSELECT句には集計およびグループ化式のみが含まれます[Select句= Nieuwsbrief、ID] sqlserverceが許可する場合、GROUP BY句を追加しても問題ありませんこれはNieuwsbrief.Briefに掲載されていますが、データ型の「テキスト」と同じではありません。 よろしく – Batopilas
オクラホマので、試してみてください。 ' SELECT N.IDは、N.Titelは、N.Brief、N.NieuwsbriefTypeCode Nieuwsbrief FROM N としてLEFTが のJOIN(NieuwsbriefCommentaarグループからAantalCommentaren AS NieuwsbriefID、COUNT(*)を選択BY NieuwsbriefID)AS ON(N.ID = G.NieuwsbriefID) ' –
このクエリは正常に動作しますが、結果セットにカウントは含まれません...? – Batopilas