私はcontent_idとtype colomnを保持するインデックステーブルを持っています。 (テーブル:contentvideo、contentaudio)のcontent_idに基づいて適切なデータを取得することは可能でしょうか?MySQL複数選択
答えて
私はあなたが与えたリンク上のMysSQLで読んだことがあります。概念は明確で、例は貧弱ですが、私はいくつかの検索を行い、ケースジェスチャーに基づいて必要なものだけを見つけました。ありがとう! 同じことにつまずく可能性がある他の人々のために。ここに私が必要としたリンクがあります(CASEスイッチに基づくSELECT) http://forums.mysql.com/read.php?10,245909,245990#msg-245990 –
まあ、問題ありません! ;) –
私はあなたが単一のSELECT文を介してコンテンツを取得したいそれを取りますか?コンテンツテーブルのレイアウトはまったく同じである場合は、UNIONを使用することができます。
SELECT ca.* FROM contentaudio ca, indextable it
WHERE ca.content_id = it.content_id
AND it.content_type = 'audio'
UNION
SELECT cv.* FROM contentvideo cv, indextable it
WHERE cv.content_id = it.content_id
AND it.content_type = 'video'
ORDER BY content_id /* or whatever */
注content_id
あなたcontent
テーブルのすべてにわたって一意でない場合、あなたは同じのために(異なるタイプの)複数のレコードを取得することcontent_id
。 indextable
キーに基づいて特定のレコードを選択する場合は、ユニオンの各部分に追加する必要があります。
あなたcontent
テーブルが異なるレイアウトを持っている場合は、代わりにOUTER JOINを使用し、一つのレコード(欠けているものは、NULL値として返されます)の一部として、様々なコンテンツタイプを取得できます。
SELECT * FROM indextable it
LEFT OUTER JOIN contentaudio ca ON it.content_id = ca.content_id
LEFT OUTER JOIN contentvideo cv ON it.content_id = cv.content_id
WHERE it.some_key = ?
。なお、 content_type
は、この場合はまったく関与していません(また、UNION selectのどちらにも必要ありません)。
- 1. MySQL複数選択オプション
- 2. 複数選択クエリMySQL
- 3. Mysqlストアドプロシージャ複数選択
- 4. C#MySQL接続複数選択ステートメント
- 5. MySQL複数の区別を選択
- 6. MySQL複数テーブルのデータ選択
- 7. MySQL複数のテーブルから選択
- 8. mySQLで複数のパラメータを選択クエリ
- 9. PHPとmysqlの複数選択ドロップダウン
- 10. MySQL 1テーブル、1選択、複数のWheres
- 11. mySQL複数相互参照選択クエリ
- 12. mysqlで複数のテーブルを選択
- 13. MariaDBで複数選択文MySQL
- 14. 複数の同時選択をmysqlデータベーステーブル
- 15. MySQL:複数の選択、複数の結合?
- 16. 複数選択クエリ(複数の場合)MySQLの条件
- 17. 複数選択
- 18. 複数選択
- 19. チェックボックスクイズ複数選択
- 20. 複数選択ドロップダウンリスト
- 21. フォームモデル(複数選択)
- 22. 複数選択リスト
- 23. 複数選択jQuery
- 24. 複数選択WPF
- 25. 複数選択クイズ
- 26. 複数選択カテゴリワードプレスカスタマイザコントロール
- 27. 複数選択ナップザックオークション
- 28. 複数選択Vim
- 29. は複数選択
- 30. シンプルフォーム複数選択
あなたはあなたが持っているテーブルと持っているフィールドを正確に分かりますか? –
'polymorphic-associations'タグを追加しました。なぜならそうしているからです。このデータベース設計に関連する他の質問を見るには、タグに従ってください。 –