同じIDを持つ複数のレコードがある場合は、互いにアクセスするテーブルがあります。SQLクエリIDをグループ化し、他のフィールドに特定の値がある場合
特定の日付の値を持つ特定のレコードを検索したいと思います。しかし、そのIDを持つすべての対応する情報(つまり、同じIDを持つ他のすべてのレコード)が必要です。私はこのようなものを試してみた:
SELECT *
FROM myTable
WHERE LEFT(Field1,7) = '2016-11' IN (SELECT ID
FROM myTable
GROUP BY ID
HAVING COUNT(*)>1)
と
SELECT *
FROM myTable
WHERE ID = (SELECT * FROM myTable WHERE LEFT(Field1,7) = '2016-11'
は、これらのどちらも私に適切な出力を与えています。私はある種のForループが必要かもしれないと思うが、SQLでこれをやる経験はあまりない。そうすれば、その日付部分で返されるすべてのIDをループすることができます。助言がありますか?私はポストにテーブルフォーマットを入れますが、テーブルフォーマットは何らかの理由で私のために働いていません。欲求不満は本当です!
母は、私の質問を読む時間を取ってくれてありがとうございます。とても有難い。ここでEDIT
は私のテーブルはどのようなものであるかを視覚的にです:
私は11月中に発生したすべてのレコードを選択するだけでなく、取得したいのですが対応する情報(すなわち、11月レコードと同じID番号を持つレコード)。
なぜサブクエリ: 'WHERE mytableはSELECT * FROM LEFT(Field1,7)= '2016-11''? – Parfait
私は今月中に行われたすべてのレコードを選択しようとしています。ただし、各値は必ずしも日付ではないため、その列はテキストとして書式設定されます。 最後に、今月の日付のすべてのレコードを除外し、そのIDと同じIDを持つ他のすべてのレコードを取得したいと思います。 –