「使用された選択ステートメントの列数が異なります」というエラーが常に発生します。
select Sublessee_uname, Sublessee_fname, Sublessee_mname, Sublessee_fname from sublessee
union
select Sublessee_space, Sublessee_product from space_reserve
エラーはほとんど自明です。最初の列にSELECT
は4 つの列があり、2 番目の列には2 つの列があります。を使用するUNION
には、両方の の列数がSELECT
一致している必要があります。
ユニオンケースでは、列の数はクエリで同じである必要があります 参考のために、この UNIONを確認してください
あなたのコメントのいくつかに基づいて、 2 つのテーブルを結合するのではなく結合する必要があるように思えます。
また、多くの場合、2 つのテーブルを結合するには、一方のテーブルにもう一方のテーブルを参照する列が必要です。クエリに表示されている列には、結合条件で使用する適切な列が含まれていないようであり、この時点では、2 つのテーブルが他の列を持っているかわかりませんSublessee_Id
。両方のテーブルで。必要なデータを取得するためのクエリは、次のようになります。
SELECT
s.Sublessee_uname,
s.Sublessee_fname,
s.Sublessee_mname,
s.Sublessee_fname,
r.Sublessee_space,
r.Sublessee_product
FROM sublessee s
LEFT JOIN space_reserve r /* or, depending on the requirements,
INNER JOIN space_reserve r */
ON s.Sublessee_Id = r.Sublessee_Id
;
JOIN 構文について詳しく知りたい場合は、次のマニュアル ページを試すことができます。
union
列の数が一致する必要があります。試す
select Sublessee_uname, Sublessee_fname, Sublessee_mname, Sublessee_fname
from sublessee
union
select Sublessee_space, Sublessee_product, null, null
from space_reserve