テーブルに入力するために特定の方法でデータを返す必要がある特別なデータ環境があります。
これは私の現在のクエリです:
SELECT
bs_id,
IF(bs_board = 0, 'All Boards', (SELECT b_name FROM certboards WHERE b_id IN (REPLACE(bs_board, ';', ',')))) AS board
FROM boardsubs
ご覧のとおり、if
ステートメントと特別なサブセレクトがあります。
私がこれを持っている理由bs_board
は、フィールドが次のvarchar
ように複数の行 ID を含むフィールドであるためです。
1;2;6;17
したがって、クエリは正常に機能しますが、最初に一致したb_name
. すべての一致を返す必要があります。たとえば、これは1;2
2 つのボードBoard 1
をBoard 2
同じ列に返す必要があります。<br>
後で、各結果の間にa を追加することに対処できます。
しかし、私が扱っている問題は、フィールドには選択した元のエディターと同じ数の名前を含めることができるため、両方の名前またはすべての名前を単一の列に戻す必要があることです。