1

ID、日付、およびカンマ区切りのフィールドを持つテーブルがあります。たとえば、次のような値:

id    date         options

1     2013-12-26   3006,3009,4010
2     2013-12-25   3002,3001,5090
3     2013-12-24   2909,1012,6089
4     2013-12-23   3001,4009,5008

2013-12-26 などの特定の日付を照会した後、3006,3009,4010 として結果が得られます。これで、これらの個々の番号を持つ別のテーブル 2 ができました。追加のフィールドで。

これらの結果に基づいて、これらの 3006、3009、4010 からの結果を個別に表示するフォームを作成する必要があります..

次のように: 3006 テーブル内のこの値を持つすべての行の内容 2 つの値は固定されているか、フォームの一部の入力フィールドである可能性があるため、送信後にこの作成されたフォームに値を入力すると、次の番号を取得する必要があります。つまり、3009 などです。

これらの番号のすべての結果を表示できます。一緒に、しかし私はそれらを分離する必要があります。そのため、3006 SUBMIT FORM の結果 3009 SUBMIT FORM の結果 4010 SUBMIT FORM の結果が得られます。等

4

1 に答える 1

0

FIND_IN_SET()関数を使用できます。

これを試して:

SELECT a.id, a.date, a.options, b.* 
FROM tableA a 
INNER JOIN tableB a ON FIND_IN_SET(b.id, a.options)

注:私によると、複数の ID を 1 つのレコードに格納するのは適切なテーブル設計ではありません。このタイプのテーブルは設計しないでください。両方のテーブル ID がマップされたマッピング テーブルを作成してみてください。適用可能な1NF以上のデータベースを作成してみてください

多対多の関係の例:

**多対多の関係**

于 2013-12-26T09:03:27.653 に答える