0

「使用された選択ステートメントの列数が異なります」というエラーが常に発生します。

select Sublessee_uname, Sublessee_fname, Sublessee_mname, Sublessee_fname from sublessee
union
select Sublessee_space, Sublessee_product from space_reserve
4

4 に答える 4

1

エラーはほとんど自明です。最初の列にSELECT4 つの列があり、2 番目の列には2 つの列があります。を使用するUNIONには、両方の の列数がSELECT一致している必要があります。

于 2012-09-23T16:54:57.417 に答える
0

ユニオンケースでは、列の数はクエリで同じである必要があります 参考のために、この UNIONを確認してください

于 2012-09-23T17:04:10.217 に答える
0

あなたのコメントのいくつかに基づいて、 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 構文について詳しく知りたい場合は、次のマニュアル ページを試すことができます。

于 2012-09-23T22:16:04.520 に答える
0

union列の数が一致する必要があります。試す

select Sublessee_uname, Sublessee_fname, Sublessee_mname, Sublessee_fname
from sublessee     
union
select Sublessee_space, Sublessee_product, null, null
from space_reserve

単純化された Fiddle の例

于 2012-09-23T16:56:09.353 に答える