このデータベース構造の作成方法を教えてもらえますか?他のテーブルの複数のIDを持つSQLフィールド
Table "countries":
id, countryname
1, "US"
2, "DE"
3, "FR"
4, "IT"
は今、私は別のテーブル「製品」を持っているし、そこに私はこの製品が利用可能な場合、すべての国を保存したいと思います:
Table "products":
id,productname,countries
1,"product1",(1,2,4) // available in countries US, DE, IT.
2,"product2",(2,3,4) // available in countries DE, FR, IT.
私の質問: はどのようにここで は一例です私は複数の国を格納できるように "製品"のテーブル構造を設計していますか?
私は、コンマ区切りの文字列(つまり「1,2,4」)を入力し、その文字列を分割して各エントリを検索することをお勧めします。しかし、私はこれがこれを行う最善の方法であると疑う。
編集:皆さん、助けてくれてありがとう!正解を選択するのは難しい 私は最終的にGregsを選びました。なぜなら、彼は私にJOINの説明を指摘し、それをどのように使用するのかの例を与えたからです。
なぜ結合を使用しないのですか?これはいつも私に少し奇妙に見えます – Flo
'JOIN'を使うときのロジックは、OPのはっきりとしたSQL初心者にとってもっと混乱します。確かに、 'JOIN'も動作しますが、ロジックがなければ、より明確で理解しやすくなります。 – Polynomial
お手伝いいただきありがとうございます!はい、SQL-newbieはここにあります。 1つのサブクエリ:そのSQL文は私にとっては遅いようです - 私は100000以上の製品を持っているとしますが、product_countriesを繰り返すのに時間がかかりませんか? – marimba