モデルの行をいくつかフェッチしていますが、ビューには非常に多くの基準があり、多くのモデルを書くのにうんざりしていました.作業を簡単にするために、選択したすべての基準に対して新しい選択ステートメントを書きたくないので、最初は利用可能な条件の 1 つ以上がユーザーによって提供されている/提供されていない場合でも、選択から何かを返します。
SELECT * FROM members WHERE member_id = null AND member_club_id = 1 AND membership_year = null;
そして何も返さない
最後に私は試しました
SELECT * FROM members WHERE member_id = (select member_id) AND member_club_id = (select member_club_id=1) AND membership_year = (select membership_year);
これは正しく機能します。
私はまだ mysql に慣れていないので、この 2 番目のアプローチが機能する理由を知りたいと思っていました。
興味深いのは、たとえばselect member_club_id=1
andです。member_id = (select member_id)
私は、呼び出された変数がなかったため、失敗したため、これmember_id = (select member_id)
が読み取られると考えていました。member_id=member_id
member id
select member_club_id=1
私はunknown column
エラーが発生しmember_club_id
て失敗すると思っていました。
誰か助けて。