2009-12-03 20 views

cevap

12

Sen alt kullanabilirsiniz

SELECT a,b,c INTO NewTable 
FROM (SELECT a,b,c 
FROM TheTable 
WHERE a Is Null) 
+2

Neden bir alt sorgu kullanıyorsunuz? yani INTO neden iç sorguya eklenmiyor? – onedaywhen

+0

Sonuçta ortaya çıkan 'tablo' bir anahtara sahip olmayacaktır, bu nedenle bir tablo değildir. – onedaywhen

9

:

SELECT * 
INTO  NewTable 
FROM  OldTable 
+0

Access'in aslında * * NewTable'ı değiştireceğinden emin değilsiniz. Bu durumda, aslında bunun yerine, kullanıcının isteğini tam olarak kullanıcının isteğiyle eşleştireceği tabloya ekleyebilir. – Romain

+0

@Romain Muller: Neden Access'i ateşlemiyorsunuz ve bununla ilgili cevabı bulmak yerine, sorunun cevabını bulmuyor musunuz? –

+2

Aslında, bu SQL'i Access QBE'de çalıştırırsanız, mevcut tabloyu değiştirmek isteyip istemediğiniz sorulur. Eğer SetWarnings ON ile DoCmd.RunSQL ile çalıştırırsanız, aynı zamanda sizi uyarır. DAO'da çalıştırmayı denerseniz, tablo zaten mevcut olduğundan başarısız olur. Hiçbir durumda kayıtlar mevcut bir tabloya eklenmez. –

0
Select * 
Into newtable 
From somequery 
1

kullanıcı arabirimi üzerinden yapmak istiyorsanız, aşağıdakileri de yapabilirsiniz:

A) oluşturma ve seçme sorgusu test edin. Onu kurtar.

B) Bir tablo tablosu sorgusu oluşturun. Hangi tabloların gösterileceği sorulduğunda sorgu sekmesini ve kaydettiğiniz sorguyu seçin.

C) Oluşturmak istediğiniz tablonun adını söyle.

D) kahve yapmak gidin (tat ve tablonun büyüklüğüne)

3

İlk sorguları bağlı olarak gerekli anahtarlar, kısıtlamaları, alan kontrolü, referanslarla bir tablo oluşturmak vb. Daha sonra doldurmak için INSERT INTO..SELECT yapısını kullanın.

SELECT..INTO..FROM yapıları tarafından cazip olun. Ortaya çıkan tablonun hiç anahtarı olmayacak, bu yüzden aslında hiç bir tablo olmayacak. Uygun bir tabloyla başlamak daha iyidir, ardından verileri ekleyin örn. Kötü verilerin yakalanması daha kolay olacaktır.

SELECT..INTO tümcesinde işlerin nasıl ters gidebileceğine dair bir örnek için: NULL değerini içeren bir sütuna neden olabilir ve olaydan sonra sütunu NULL'YE değiştiremezsiniz, motor NULLs'un yerini almayacaktır, bu yüzden NULL s içeren bir NOT NULL sütunu ile sona erecek! Ayrıca, "görüntülenen" bir tablo oluşturmayı da düşünebilirsiniz örn. bir taban tablosu yerine CREATE VIEW SQL DDL kullanarak.

İlgili konular