1

添付のデータベース ファイルでわかるように、2 つのテーブルがあります (古い ms アクセス ファイル .mdb と同じファイルの新しいバージョンの .accdb を添付しました)。

1 つのテーブルには、数値の主キー フィールドと参照フィールドがあります。

もう一方のテーブルには、主キー フィールドとして参照 (例: 1.1.1 または 1.1.2) があります。

最初のテーブルのフィールドで対応する参照を取得し、参照テーブルからそれらの参照の説明を貼り付ける SQL クエリを作成する必要があります。

たとえば、「TableToBeQueried」テーブルの最初のエントリは次のとおりです。

RecordID References
       1 1.1.1; 1.1.2

したがって、理論的には、SQL クエリは次のような参照テーブルから 1.1.1 および 1.1.2 参照の説明を返します。

This is the first reference
This is the second reference

ダウンロード: http://www.mediafire.com/?6ppbztsx82mvmal,ny93tln8f097jpp

4

1 に答える 1

1

TableToBeQueried正規化されていないため、質問がさらに難しくなります。と の各組み合わせの行を含むジャンクション テーブルを使用すると、より簡単になりRecordIDますParagraph

RecordID Paragraph
       1 1.1.1
       1 1.1.2

ただし、今あるものにこだわる場合は、それを行うことができます。

SELECT
    t.RecordID,
    t.Description,
    t.References,
    r.Paragraph,
    r.Description
FROM
    TableToBeQueried AS t,
    [References] AS r
WHERE
         '; ' & [t].[References] & ';'
    Like '*; ' & [r].[Paragraph] & ';*'
ORDER BY
    t.RecordID,
    r.Paragraph;

これは、Access アプリケーション セッション (SQL89 モード) 内で実行されるクエリに対して機能します。ただし、OleDb を使用してこのクエリを Access の外部 (SQL92 モード) から実行する場合は、ワイルドカード文字を から*に変更し%ます。

これらは、そのクエリによって返される最初の 2 行です。

RecordID t.Description References    Paragraph r.Description
       1 Description 1 1.1.1; 1.1.2  1.1.1     This is the first reference
       1 Description 1 1.1.1; 1.1.2  1.1.2     This is the second reference
于 2013-01-14T05:48:06.807 に答える