คำถามติดแท็ก sql

Structured Query Language (SQL) เป็นภาษาสำหรับการสืบค้นฐานข้อมูล คำถามควรมีตัวอย่างรหัสโครงสร้างตารางข้อมูลตัวอย่างและแท็กสำหรับการใช้งาน DBMS (เช่น MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 และอื่น ๆ ) หากคำถามของคุณเกี่ยวข้องกับ DBMS เฉพาะ (ใช้ส่วนขยาย / คุณลักษณะเฉพาะ) ให้ใช้แท็กของ DBMS นั้นแทน คำตอบของคำถามที่ติดแท็กด้วย SQL ควรใช้ SQL มาตรฐาน ISO / IEC

6
postgresql: INSERT INTO … (SELECT * …)
ฉันไม่แน่ใจว่า SQL มาตรฐาน: INSERT INTO tblA (SELECT id, time FROM tblB WHERE time > 1000) สิ่งที่ผมกำลังมองหาคือสิ่งที่ถ้า tblA และ tblB อยู่ในเซิร์ฟเวอร์ฐานข้อมูลที่แตกต่างกัน PostgreSql ให้ยูทิลิตี้หรือมีฟังก์ชันใด ๆ ที่จะช่วยในการใช้งาน INSERT query with PGresult struct ผมหมายถึงSELECT id, time FROM tblB ...จะกลับเกี่ยวกับการใช้PGresult* PQexecเป็นไปได้ไหมที่จะใช้โครงสร้างนี้ในโครงสร้างอื่นPQexecเพื่อเรียกใช้คำสั่ง INSERT แก้ไข: ถ้าเป็นไปไม่ได้ฉันจะไปแยกค่าจาก PQresult * และสร้างไวยากรณ์คำสั่ง INSERT หลายรายการเช่น: INSERT INTO films (code, title, did, …
125 sql  postgresql  insert  dblink 

2
Ruby on Rails: รับค่าสูงสุดจากคอลัมน์ DB
ขณะนี้ฉันสามารถสร้างแบบสอบถาม SQL แบบตรงบนฐานข้อมูลของฉัน: SELECT MAX(bar) FROM table_name และส่งกลับด้วยค่าสูงสุดในตารางนั้น เมื่อฉันทำสิ่งที่ฉันคิดว่าเป็นการโทรที่เทียบเท่ากันใน Rails มันไม่ได้ผล ฉันกำลังโทร: Bar.all(:select => "Max(bar)") สิ่งนี้กลับมาพร้อมกับ: [#<Bar >] ในคอลัมน์ที่ฉันโทรหาเป็นชุดของหมายเลขระบุตัวตนฉันกำลังมองหาหมายเลขที่ใหญ่ที่สุด มีวิธีอื่นในการเข้าถึงสิ่งนี้ใน Rails หรือไม่?
125 sql  ruby-on-rails 

16
การออกแบบฐานข้อมูลสำหรับการแก้ไข?
เรามีข้อกำหนดในโครงการที่จะจัดเก็บการแก้ไขทั้งหมด (ประวัติการเปลี่ยนแปลง) สำหรับเอนทิตีในฐานข้อมูล ขณะนี้เรามี 2 ข้อเสนอที่ออกแบบไว้สำหรับสิ่งนี้: เช่นสำหรับนิติบุคคล "พนักงาน" การออกแบบ 1: -- Holds Employee Entity "Employees (EmployeeId, FirstName, LastName, DepartmentId, .., ..)" -- Holds the Employee Revisions in Xml. The RevisionXML will contain -- all data of that particular EmployeeId "EmployeeHistories (EmployeeId, DateModified, RevisionXML)" การออกแบบ 2: -- Holds Employee Entity "Employees …

11
เลือกแถวที่มีวันที่ล่าสุดต่อผู้ใช้
ฉันมีตาราง ("lms_attendance") ของเวลาเช็คอินและเวลาออกของผู้ใช้ที่มีลักษณะดังนี้: id user time io (enum) 1 9 1370931202 out 2 9 1370931664 out 3 6 1370932128 out 4 12 1370932128 out 5 12 1370933037 in ฉันกำลังพยายามสร้างมุมมองของตารางนี้ซึ่งจะแสดงผลเฉพาะระเบียนล่าสุดต่อ ID ผู้ใช้ในขณะที่ให้ค่า "in" หรือ "out" ให้ฉันทำดังนี้ id user time io 2 9 1370931664 out 3 6 1370932128 out 5 12 1370933037 …

19
SQL เพื่อกำหนดวันเข้าใช้งานตามลำดับขั้นต่ำ?
ตารางประวัติผู้ใช้ต่อไปนี้มีหนึ่งระเบียนสำหรับทุกวันที่ผู้ใช้รายหนึ่งเข้าถึงเว็บไซต์ (ในช่วงเวลา UTC 24 ชั่วโมง) มีบันทึกมากมายหลายพันรายการ แต่มีเพียงหนึ่งรายการต่อวันต่อผู้ใช้ หากผู้ใช้ไม่ได้เข้าถึงเว็บไซต์ในวันนั้นจะไม่มีการสร้างบันทึก Id UserId CreationDate ------ ------ ------------ 750997 12 2552-07-07 18: 42: 20.723 750998 15 2552-07-07 18: 42: 20.927 751000 19 2009-07-07 18: 42: 22.283 สิ่งที่ฉันกำลังมองหาคือแบบสอบถาม SQL ในตารางนี้ที่มีประสิทธิภาพที่ดีซึ่งจะบอกฉันว่าผู้ใช้รายใดได้เข้าถึงเว็บไซต์เป็นเวลา (n) วันต่อเนื่องโดยไม่ขาดวัน ในคำอื่น ๆจำนวนผู้ใช้ที่มี (n) ระเบียนในตารางนี้มีลำดับ (วันก่อนหรือวันหลัง) วันที่ ? หากวันใดขาดหายไปจากลำดับลำดับจะเสียและควรเริ่มใหม่อีกครั้งที่ 1; เรากำลังมองหาผู้ใช้ที่มีจำนวนวันต่อเนื่องที่นี่โดยไม่มีช่องว่าง ความคล้ายคลึงใด ๆ ระหว่างข้อความค้นหานี้กับป้าย …

12
NOLOCK (คำใบ้เซิร์ฟเวอร์ Sql) เป็นการปฏิบัติที่ไม่ดีหรือไม่?
ฉันอยู่ในธุรกิจการทำเว็บไซต์และแอพพลิเคชั่นที่ไม่สำคัญ -> เช่น ซอฟต์แวร์การธนาคารการบินอวกาศแอปพลิเคชันการตรวจสอบผู้ป่วยหนัก ฯลฯ คุณจะได้รับแนวคิด ดังนั้นด้วยข้อจำกัดความรับผิดชอบจำนวนมากการใช้คำใบ้ NOLOCK ในคำสั่ง Sql บางอย่างไม่ดีหรือไม่? เมื่อหลายปีก่อนมีผู้ดูแล Sql คนหนึ่งแนะนำว่าฉันควรใช้ NOLOCK ถ้าฉันพอใจกับ "การอ่านสกปรก" ซึ่งจะทำให้ฉันมีประสิทธิภาพมากขึ้นเล็กน้อยจากระบบของฉันเนื่องจากการอ่านแต่ละครั้งไม่ได้ล็อก ตาราง / แถว / สิ่ง ฉันยังบอกด้วยว่านี่เป็นวิธีแก้ปัญหาที่ยอดเยี่ยมหากฉันประสบปัญหาล็อคตาย ดังนั้นฉันจึงเริ่มทำตามความคิดนั้นเป็นเวลาสองสามปีจนกระทั่งผู้เชี่ยวชาญด้าน Sql ช่วยฉันด้วยโค้ดแบบสุ่มและสังเกตเห็น NOLOCKS ทั้งหมดในโค้ด sql ของฉัน ฉันถูกดุอย่างสุภาพและเขาพยายามอธิบายให้ฉันฟัง (ทำไมมันถึงไม่ใช่เรื่องดี) และฉันก็หลงทาง ฉันรู้สึกว่าแก่นแท้ของคำอธิบายของเขาคือ 'มันเป็นวิธีแก้ปัญหาแบบวงดนตรีสำหรับปัญหาที่ร้ายแรงกว่า .. โดยเฉพาะอย่างยิ่งถ้าคุณกำลังประสบกับภาวะชะงักงัน ดังนั้นแก้ไขต้นตอของปัญหา ' เมื่อเร็ว ๆ นี้ฉันได้ทำ googling เกี่ยวกับเรื่องนี้และเจอโพสต์นี้ ดังนั้นอาจารย์ sql db guru อาจารย์ช่วยสอนหน่อยได้ไหม

7
ใช้ DISTINCT และ COUNT ร่วมกันใน MySQL Query
สิ่งนี้เป็นไปได้: SELECT DISTINCT COUNT(productId) WHERE keyword='$keyword' สิ่งที่ฉันต้องการคือการได้รับหมายเลขรหัสผลิตภัณฑ์เฉพาะซึ่งเกี่ยวข้องกับคำหลัก ผลิตภัณฑ์เดียวกันอาจเชื่อมโยงกับคำหลักสองครั้งหรือมากกว่านั้น แต่ฉันต้องการให้นับเพียง 1 ครั้งต่อรหัสผลิตภัณฑ์
125 mysql  sql 

3
วิธีการเชื่อมต่อล็อกอิน SQL Server ที่มีอยู่กับผู้ใช้ฐานข้อมูล SQL Server ที่มีชื่อเดียวกัน
มีคำสั่ง SQL Server เพื่อเชื่อมต่อผู้ใช้ฐานข้อมูลเดียวกับล็อกอินสำหรับเซิร์ฟเวอร์ฐานข้อมูลที่มีชื่อเดียวกันหรือไม่ ตัวอย่างเช่น: เซิร์ฟเวอร์ฐานข้อมูล - ฐานข้อมูลอินสแตนซ์เริ่มต้น: TestDB เข้าสู่ระบบเซิร์ฟเวอร์ - ผู้ใช้ที่มีอยู่ของTestUser บน TestDB - TestUser ถ้าฉันพยายามทำให้การTestUserเข้าสู่ระบบเป็นผู้ใช้ของTestDBฐานข้อมูลจะมี "ผู้ใช้กลุ่มหรือบทบาท" อยู่แล้ว มีใครทราบวิธีง่ายๆในการกำหนดผู้ใช้ DB ให้เข้าสู่ระบบเซิร์ฟเวอร์หรือไม่?
124 sql  sql-server 

22
มีระบบควบคุมเวอร์ชันสำหรับการเปลี่ยนแปลงโครงสร้างฐานข้อมูลหรือไม่?
ฉันมักจะพบปัญหาต่อไปนี้ ฉันทำงานกับการเปลี่ยนแปลงบางอย่างในโครงการที่ต้องการตารางหรือคอลัมน์ใหม่ในฐานข้อมูล ฉันทำการแก้ไขฐานข้อมูลและทำงานต่อ โดยปกติฉันจำไว้ว่าต้องจดบันทึกการเปลี่ยนแปลงเพื่อให้สามารถจำลองซ้ำบนระบบถ่ายทอดสดได้ อย่างไรก็ตามฉันจำไม่ได้เสมอไปว่าฉันเปลี่ยนแปลงอะไรไปบ้างและฉันก็จำไม่ได้ว่าจะเขียนมันลงไปเสมอ ดังนั้นฉันจึงผลักดันระบบถ่ายทอดสดและได้รับข้อผิดพลาดใหญ่ที่ชัดเจนว่าไม่มีNewColumnXฮึ แม้ว่านี่อาจไม่ใช่แนวทางปฏิบัติที่ดีที่สุดสำหรับสถานการณ์นี้ แต่มีระบบควบคุมเวอร์ชันสำหรับฐานข้อมูลหรือไม่? ฉันไม่สนใจเกี่ยวกับเทคโนโลยีฐานข้อมูลเฉพาะ ฉันแค่อยากรู้ว่ามีอยู่หรือเปล่า ถ้าเกิดว่าทำงานกับ MS SQL Server ได้ล่ะก็เยี่ยมเลย


17
เกิดข้อผิดพลาดในการทิ้งฐานข้อมูล (ไม่สามารถ rmdir '.test \', errno: 17)
โดยทั่วไปฉันได้รับการสอนเกี่ยวกับวิธีสร้างรหัสผ่านรูทโดยใช้คำสั่ง "mysqladmin -u root -p password" ซึ่งทำได้ทั้งหมดผ่านตัวแก้ไขคำสั่ง windows ตอนนี้กระบวนการต่อไปคือการแสดงฐานข้อมูลเริ่มต้น (ข้อมูล schema, mysql และการทดสอบ) ซึ่งทำได้โดยใช้ "SHOW DATABASES;" แต่ตามหนังสือเราต้องลบไฟล์ทดสอบที่ซ้ำซ้อนและข้อผิดพลาดต่อไปนี้จะปรากฏขึ้น: เกิดข้อผิดพลาดในการทิ้งฐานข้อมูล (ไม่สามารถ rmdir '.test \', errno: 17) คำสั่งที่นำไปใช้คือ DROP DATABASE test; ฉันใช้ MYSQL และ PHPMYADMIN ความช่วยเหลือเกี่ยวกับวิธีการวางไฟล์โดยไม่มีข้อผิดพลาดหรือไม่?
124 mysql  sql  phpmyadmin 

4
เข้าร่วมระหว่างตารางในสองฐานข้อมูลที่แตกต่างกัน?
ใน MySQL, ฉันมีสองฐานข้อมูลที่แตกต่างกัน - ขอเรียกพวกเขาและB เป็นไปได้หรือไม่ที่จะทำการรวมระหว่างตารางที่อยู่ในฐานข้อมูลAกับตารางที่อยู่ในฐานข้อมูลB ?
124 mysql  sql  join 

10
ข้อผิดพลาด MySQL ผสมกันอย่างผิดกฎหมาย
ฉันได้รับข้อผิดพลาดแปลก ๆ ขณะประมวลผลข้อมูลจำนวนมาก ... Error Number: 1267 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' SELECT COUNT(*) as num from keywords WHERE campaignId='12' AND LCASE(keyword)='hello again 昔 ã‹ã‚‰ ã‚ã‚‹ å ´æ‰€' ฉันจะแก้ไขปัญหานี้ได้อย่างไร ฉันสามารถหลีกเลี่ยงสตริงได้อย่างไรเพื่อไม่ให้ข้อผิดพลาดนี้เกิดขึ้นหรือฉันต้องเปลี่ยนการเข้ารหัสตารางของฉันหรือไม่และถ้าเป็นเช่นนั้นฉันควรเปลี่ยนเป็นอะไร

6
การเปลี่ยนขนาดของคอลัมน์ที่อ้างอิงโดยมุมมองที่ผูกกับสคีมาใน SQL Server
ฉันกำลังพยายามเปลี่ยนขนาดของคอลัมน์ในเซิร์ฟเวอร์ sql โดยใช้: ALTER TABLE [dbo].[Address] ALTER COLUMN [Addr1] [nvarchar](80) NULL ที่ความยาวของเดิมAddr140 ล้มเหลวโดยเพิ่มข้อผิดพลาดนี้: The object 'Address_e' is dependent on column 'Addr1'. ALTER TABLE ALTER COLUMN Addr1 failed because one or more objects access this column. ฉันพยายามอ่านและดูเหมือนว่าเป็นเพราะบางมุมมองอ้างถึงคอลัมน์นี้และดูเหมือนว่า SQL Server กำลังพยายามปล่อยคอลัมน์ที่ทำให้เกิดข้อผิดพลาดขึ้น Address_e เป็นมุมมองที่สร้างขึ้นโดย DB Administrator คนก่อน มีวิธีอื่นอีกไหมที่ฉันสามารถเปลี่ยนขนาดของคอลัมน์ได้
124 sql  sql-server 

14
SQL Server 2008: จะสอบถามขนาดฐานข้อมูลทั้งหมดได้อย่างไร
ฉันมี MS SQL 2008 R2, 500 ฐานข้อมูล อะไรคือวิธีที่มีประสิทธิภาพที่สุดง่ายที่สุดและ 'ทันสมัย' ในการสืบค้นขนาดฐานข้อมูลทั้งหมด ผลลัพธ์ควรมีคอลัมน์: ฐาน DataFilesSize LogFilesSize

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.