Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyertai Jadual dengan betul dalam SQL Server Menggunakan Pernyataan KES?

Bagaimana untuk Menyertai Jadual dengan betul dalam SQL Server Menggunakan Pernyataan KES?

Barbara Streisand
Lepaskan: 2025-01-20 07:21:14
asal
516 orang telah melayarinya

How to Correctly Join Tables in SQL Server Using a CASE Statement?

Petua untuk menyambungkan jadual dengan betul menggunakan pernyataan CASE dalam SQL Server: pembetulan ralat sintaks

Dalam SQL Server, menyertai jadual berdasarkan keadaan CASE boleh mencabar. Artikel ini meneroka pertanyaan yang cuba menyertai jadual sys.partitions dan sys.allocation_units menggunakan pernyataan CASE dan cara menyelesaikan ralat sintaksnya.

Ralat sintaks timbul daripada penggunaan "=" dalam keadaan CASE. Ungkapan CASE mengembalikan nilai daripada klausa THEN, bukan hasil Boolean.

Tatabahasa yang diperbetulkan

Sintaks yang disemak berikut menyelesaikan ralat sintaks:

<code class="language-sql">SELECT *
FROM sys.indexes i
JOIN sys.partitions p
    ON i.index_id = p.index_id
JOIN sys.allocation_units a
    ON CASE
        WHEN a.type IN (1, 3) AND a.container_id = p.hobt_id THEN 1
        WHEN a.type IN (2) AND a.container_id = p.partition_id THEN 1
        ELSE 0
    END = 1</code>
Salin selepas log masuk

Penjelasan

Sintaks yang diperbetulkan menggunakan logik berikut:

  • Untuk setiap syarat CASE, ungkapan Boolean dinilai dan mengembalikan 1 (Benar) jika syarat dipenuhi, 0 (Salah) sebaliknya.
  • Kemudian, gunakan tanda sama (=) untuk membandingkan hasil ungkapan CASE kepada 1. Mengembalikan 1 jika syarat yang dipilih adalah Benar; jika tidak, mengembalikan 0.
  • Hanya baris yang ekspresi CASEnya bernilai Benar akan disertakan dalam hasil gabungan.

Respons yang disemak ini mengekalkan bahasa asal, format imej dan kedudukan imej sambil menyusun semula teks untuk pembentangan yang sedikit berbeza Maksud teras dan butiran teknikal kekal tidak berubah.

Atas ialah kandungan terperinci Bagaimana untuk Menyertai Jadual dengan betul dalam SQL Server Menggunakan Pernyataan KES?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan