質問: 例えば三つのSQLをがあったとします。 ``` SELECT no,商品1 FROM tbl1 WHERE 商品1=1 SELECT no,商品2 FROM tbl2 WHERE 商品2=1 SELECT no,商品3 FROM tbl2 WHERE 商品3=1 ``` この三つのSQLの結果をUNION ALL して、結合した結果をカラムのnoをまとめることは可能でしょうか。 恐らく、 ``` SELECT no,商品1 FROM tbl1 WHERE 商品1=1 UNION ALL SELECT no,商品2 FROM tbl2 WHERE 商品2=1 UNION ALL SELECT no,商品3 FROM tbl2 WHERE 商品3=1 ``` からGROUP BY か DISTINCTを使うのかと思うのですが。 よろしくお願いいたします。
回答: UNION ALL を UNION に変更したら重複除去できると思いますが > > UNION > > Specifies that multiple result sets are to be combined and returned as a single result set. > > > ALL > > Incorporates all rows into the results. This includes duplicates. If not specified, duplicate rows are removed. > > > https://docs.microsoft.com/en-us/sql/t-sql/language-elements/set-operators-union-transact-sql