sql >> データベース >  >> RDS >> Mysql

mysqlの単一のクエリで子カテゴリの親名を取得する

    テーブルに参加するparentを使用 親のcat_idにリンクする列。

    SELECT c1.cat_id as childID, c1.cat_name ChildName, c2.cat_name as ParentName
    from category c1
    LEFT OUTER JOIN category c2
    ON c1.parent = c2.cat_id
    
    • 注意:一部の要素には親がないため(NULL )、LEFT OUTER JOINを入れました したがって、それらの行も表示されます。それが望ましくない場合は、JOINを使用してください LEFT OUTER JOINの代わりに 。
    • 行を表示することもできますが、NULLの代わりに他の何か(空またはテキストまたは...)を表示します COALESCEを使用する 。
    • 結果を1つの(大きな)新しいテーブルと見なすことができるため、通常どおりにWHERE句を追加できます。たとえば、親名をフィルタリングします。WHERE c2.cat_name = 'test2'


    1. SQLServerを使用したアクセスの概要をご覧ください

    2. SQLServer2017のステップバイステップのインストール-2

    3. ER_NOT_SUPPORTED_AUTH_MODE:クライアントはサーバーから要求された認証プロトコルをサポートしていません。 MySQLクライアントのアップグレードを検討してください

    4. 無効な日時形式:1292不正な日時値