私はデータベースの学習者です。非常に基本的な質問をしていると思いますが、ご容赦ください。
テーブルから値のリストを取得したかったのです。値のリストは、いくつかの基準に従って並べ替えられます。
例: collegeテーブルにcourseOfferedという名前の列があり、そこにjava、c++、android などの文字列を保存しています。
userテーブルにprimarySubjectとsecondarySubjectという別の 2 つの列があります。
私の最初のフェッチ ロジックは、primarySubjectによると、college テーブルの行の値はリストの最初の優先度でなければならず、secondarySubjectによれば、college テーブルの行の値はリストの 2 番目の優先度でなければならず、残りの値は最後に追加されます。primarySubjectまたはsecondarySubjectとは無関係です。
これまでに試したこと:
SELECT *
FROM test.college
WHERE Courses_Offered LIKE CONCAT('%',RTRIM((SELECT
Primary_Subject
FROM test.user
WHERE Email = 'r.veer7@gmail.com')),'%')
OR Courses_Offered LIKE CONCAT('%',RTRIM((SELECT
Secondary_Subject
FROM test.user
WHERE Email = 'r.veer7@gmail.com')),'%')
OR LOWER(Location)IN(SELECT
LOWER(Location)
FROM test.user
WHERE Email = 'r.veer7@gmail.com')
上記のクエリはすべてのデータをフェッチしますが、上記のようには行がテーブルに保存されません。上記のクエリのすべてのフェッチをグループ化する必要があります。どうすればよいですか?