Saya memiliki permintaan yang sudah ada yang menampilkan data saat ini, dan saya ingin memasukkannya ke dalam tabel Temp, tetapi saya mengalami beberapa masalah. Adakah yang punya wawasan tentang cara melakukan ini?
Berikut ini sebuah contoh
SELECT *
FROM (SELECT Received,
Total,
Answer,
( CASE
WHEN application LIKE '%STUFF%' THEN 'MORESTUFF'
END ) AS application
FROM FirstTable
WHERE Recieved = 1
AND application = 'MORESTUFF'
GROUP BY CASE
WHEN application LIKE '%STUFF%' THEN 'MORESTUFF'
END) data
WHERE application LIKE isNull('%MORESTUFF%', '%')
Ini sepertinya menampilkan data saya saat ini dengan cara yang saya perlukan, tapi saya ingin meneruskannya ke Temp Table. Masalah saya adalah bahwa saya cukup baru untuk SQL Queries dan belum dapat menemukan cara untuk melakukannya. Atau jika itu mungkin. Jika tidak memungkinkan, apakah ada cara yang lebih baik untuk mendapatkan data yang saya cari WHERE application LIKE isNull('%MORESTUFF%','%')
dalam tabel temp?
sql
sql-server
ssms
kambing hitam17
sumber
sumber
#temp
tabel yang sudah ada atau perlu membuat yang baru?LIKE ISNULL('%MORESTUFF%', '%')
akan selalu sama denganLIKE '%MORESTUFF%'
, bukan? Karena '% MORESTUFF%' (string literal) tidak pernah nol?Jawaban:
sumber
SQL Server R2 2008 membutuhkan
AS
klausa sebagai berikut:Permintaan gagal tanpa
AS x
di akhir.EDIT
Ini juga diperlukan saat menggunakan SS2016, harus menambahkan
as t
sampai akhir.sumber
Cara tercepat untuk melakukan ini adalah menggunakan perintah "SELECT INTO" mis
Ini akan membuat tabel baru, Anda tidak harus membuatnya terlebih dahulu.
sumber
Secara pribadi, saya perlu tangan kecil untuk mencari tahu bagaimana menggunakan ini dan itu benar-benar hebat.
sumber
Anda dapat melakukannya seperti ini:
Pastikan kolom-kolomnya sesuai, keduanya dalam jumlah seperti pada tipe data.
sumber
Coba ini:
Silakan gunakan alias dengan x sehingga skrip dan hasilnya tidak akan gagal.
sumber
sumber
Ini mungkin. Coba dengan cara ini:
sumber