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

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

22
จะรับบันทึกถัดไป / ก่อนหน้าใน MySQL ได้อย่างไร
สมมติว่าฉันมีบันทึกที่มี ID 3,4,7,9 และฉันต้องการที่จะเปลี่ยนจากที่หนึ่งไปยังอีกที่หนึ่งโดยการนำทางผ่านลิงก์ถัดไป / ก่อนหน้า ปัญหาคือฉันไม่รู้วิธีดึงข้อมูลที่มี ID ที่สูงกว่าที่ใกล้ที่สุด ดังนั้นเมื่อฉันมีเรกคอร์ดที่มี ID 4 ฉันต้องสามารถดึงเรกคอร์ดที่มีอยู่ถัดไปได้ซึ่งจะเป็น 7 คิวรีน่าจะมีลักษณะคล้าย ๆ SELECT * FROM foo WHERE id = 4 OFFSET 1 ฉันจะดึงข้อมูลระเบียนถัดไป / ก่อนหน้าโดยไม่ดึงชุดผลลัพธ์ทั้งหมดและทำซ้ำด้วยตนเองได้อย่างไร ฉันใช้ MySQL 5
129 sql  mysql 


4
ทำให้คอลัมน์ไม่เป็นโมฆะในการย้าย Laravel
ฉันกำลังเขียนการย้ายข้อมูลเพื่อสร้างคอลัมน์บางคอลัมน์ในตารางnullableในขณะนี้ สำหรับฟังก์ชั่น down ฉันต้องการสร้างคอลัมน์เหล่านั้นnot nullableอีกครั้งแน่นอน ฉันดูเอกสารตัวสร้างสคีมาแต่ไม่เห็นวิธีดำเนินการนี้ ความช่วยเหลือใด ๆ จะได้รับการชื่นชม

3
ข้อผิดพลาดในสคริปต์ SQL: อนุญาตให้ใช้คำสั่งเดียวต่อชุดงาน
ฉันมีสคริปต์ sql 4 ตัวที่ฉันต้องการเรียกใช้ใน DACPAC ใน PostDeployment แต่เมื่อฉันพยายามสร้างโครงการ VS สำหรับ 3 สคริปต์ฉันได้รับข้อผิดพลาดนี้: Only one statement is allowed per batch. A batch separator, such as 'GO', might be required between statements. สคริปต์มีเฉพาะINSERTคำสั่งในตารางที่แตกต่างกันบน DB และทั้งหมดมีโครงสร้างแบบนั้น IF NOT EXISTS (SELECT 1 FROM dbo.Criteria WHERE Name = 'Mileage') INSERT INTO dbo.Criteria(Name) VALUES ('Mileage'); เฉพาะบนตารางที่แตกต่างกันและมีข้อมูลที่แตกต่างกัน …

4
MySQL ผลลัพธ์เป็นรายการที่คั่นด้วยจุลภาค
ฉันต้องการเรียกใช้แบบสอบถามเช่น: SELECT p.id, p.name, (SELECT name FROM sites s WHERE s.id = p.site_id) AS site_list FROM publications p แต่ฉันต้องการให้การเลือกย่อยส่งคืนรายการที่คั่นด้วยจุลภาคแทนที่จะเป็นคอลัมน์ข้อมูล เป็นไปได้หรือไม่และถ้าเป็นเช่นนั้นได้อย่างไร
129 sql  mysql  concatenation 

11
การออกแบบฐานข้อมูลสำหรับแบบสำรวจ [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันต้องการสร้างแบบสำรวจที่เก็บคำตอบไว้ในฐานข้อมูล ฉันแค่สงสัยว่าอะไรคือวิธีที่ดีที่สุดในการนำสิ่งนี้ไปใช้ในฐานข้อมูลโดยเฉพาะตารางที่ต้องการ แบบสำรวจประกอบด้วยคำถามประเภทต่างๆ ตัวอย่างเช่น: ช่องข้อความสำหรับความคิดเห็นคำถามปรนัยและคำถามที่อาจมีมากกว่าหนึ่งคำตอบ (เช่นเลือกทุกข้อที่เกี่ยวข้อง) ฉันคิดวิธีแก้ปัญหาที่เป็นไปได้สองวิธี: สร้างตารางขนาดยักษ์ที่มีคำตอบสำหรับการส่งแบบสำรวจแต่ละครั้ง แต่ละคอลัมน์จะสอดคล้องกับคำตอบจากแบบสำรวจ ได้แก่ SurveyID, Answer1, Answer2, Answer3 ฉันไม่คิดว่านี่เป็นวิธีที่ดีที่สุดเนื่องจากมีคำถามมากมายในแบบสำรวจนี้และดูเหมือนจะไม่ยืดหยุ่นเท่าไหร่หากแบบสำรวจต้องเปลี่ยนแปลง สิ่งอื่นที่ฉันคิดคือการสร้างตารางคำถามและตารางคำตอบ ตารางคำถามจะมีคำถามทั้งหมดสำหรับแบบสำรวจ ตารางคำตอบจะมีคำตอบจากแบบสำรวจแต่ละแถวเชื่อมโยงกับคำถาม ตัวอย่างง่ายๆ: tblSurvey : SurveyID tblQuestion : QuestionID, SurveyID , QuestionType, คำถาม tblAnswer : AnswerID, UserID , รหัสคำถาม , คำตอบ tblUser : UserID, UserName …

6
SQL Server: คอลัมน์ถึงแถว
กำลังมองหาโซลูชันที่หรูหรา (หรือใด ๆ ) เพื่อแปลงคอลัมน์เป็นแถว นี่คือตัวอย่าง: ฉันมีตารางที่มีสคีมาต่อไปนี้: [ID] [EntityID] [Indicator1] [Indicator2] [Indicator3] ... [Indicator150] นี่คือสิ่งที่ฉันต้องการได้รับจากผลลัพธ์: [ID] [EntityId] [IndicatorName] [IndicatorValue] และค่าผลลัพธ์จะเป็น: 1 1 'Indicator1' 'Value of Indicator 1 for entity 1' 2 1 'Indicator2' 'Value of Indicator 2 for entity 1' 3 1 'Indicator3' 'Value of Indicator 3 for entity 1' …
129 sql  sql-server  tsql  unpivot 


10
ลบข้อมูลทั้งหมดในฐานข้อมูล SQL Server
ฉันจะลบระเบียนทั้งหมดจากตารางฐานข้อมูลทั้งหมดของฉันได้อย่างไร ฉันสามารถทำได้ด้วยคำสั่ง SQL เพียงคำสั่งเดียวหรือฉันต้องการคำสั่ง SQL หนึ่งคำต่อหนึ่งตาราง

3
หลักการตั้งชื่อสำหรับข้อ จำกัด เฉพาะ
หลักการตั้งชื่อมีความสำคัญและคีย์หลักและคีย์ต่างประเทศมีการใช้กันทั่วไปและมีแบบแผนชัดเจน ( PK_TableและFK_Table_ReferencedTableตามลำดับ) การIX_Table_Columnตั้งชื่อดัชนียังเป็นมาตรฐานที่เป็นธรรม สิ่งที่เกี่ยวกับข้อ จำกัด UNIQUE? มีหลักการตั้งชื่อที่ยอมรับกันทั่วไปสำหรับข้อ จำกัด นี้หรือไม่? ผมเคยเห็นUK_TableName_Column, UQ_TableName_ColumnและคนแนะนำAX_TableName_Column- ฉันไม่ทราบว่ามาจาก ฉันมักจะใช้UQแต่ฉันไม่ชอบมันเป็นพิเศษและฉันไม่ชอบที่จะปกป้องการเลือกใช้มันกับUKผู้สนับสนุน ฉันแค่อยากจะดูว่ามีความเห็นตรงกันในการตั้งชื่อที่แพร่หลายมากที่สุดหรือไม่หรือเหตุผลที่ดีว่าเหตุใดจึงมีเหตุผลมากกว่าข้ออื่น ๆ

6
ตัวแก้ไข SQL แบบ Lightweight สำหรับ Eclipse [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ มีตัวแก้ไข SQL อย่างง่ายใน Eclipse หรือไม่? หรือฉันต้องการค้นหาปลั๊กอินตัวแก้ไข SQL อย่างง่ายสำหรับ Eclipse? โดยง่ายฉันหมายถึงการแก้ไขไม่ได้เชื่อมต่อกับฐานข้อมูลใด ๆ ไม่เน้นไวยากรณ์และการจัดรูปแบบโดยเฉพาะอย่างยิ่ง sql เป็นโบนัส


13
ฉันจะสร้างสตริงเป็นจำนวนเต็มและมี 0 ได้อย่างไรในกรณีที่เกิดข้อผิดพลาดในการแคสต์ด้วย PostgreSQL
ใน PostgreSQL ฉันมีตารางที่มีคอลัมน์ varchar ข้อมูลควรเป็นจำนวนเต็มและฉันต้องการให้เป็นจำนวนเต็มในแบบสอบถาม ค่าบางค่าเป็นสตริงว่าง ดังต่อไปนี้: SELECT myfield::integer FROM mytable อัตราผลตอบแทน ERROR: invalid input syntax for integer: "" ฉันจะสอบถามนักแสดงและมี 0 ได้อย่างไรในกรณีที่เกิดข้อผิดพลาดระหว่างการแคสต์ใน postgres
128 sql  postgresql  casting 

17
คุณกำหนดเวอร์ชันสคีมาฐานข้อมูลของคุณได้อย่างไร [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่? อัปเดตคำถามเพื่อให้สามารถตอบพร้อมข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการในวันที่ 11 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ คุณเตรียม SQL deltas ของคุณอย่างไร? คุณบันทึก SQL ที่เปลี่ยนสคีมาแต่ละรายการลงในโฟลเดอร์เดลต้าด้วยตนเองหรือคุณมีกระบวนการที่แตกต่างกันโดยอัตโนมัติหรือไม่? ฉันสนใจข้อตกลงสำหรับการกำหนดเวอร์ชันสคีมาฐานข้อมูลพร้อมกับซอร์สโค้ด อาจเป็นเบ็ดก่อนการคอมมิตที่แตกต่างสคีมา? นอกจากนี้สิ่งที่ตัวเลือกสำหรับการ diffing สันดอนอยู่นอกเหนือจากDbDeploy ? แก้ไข: เมื่อเห็นคำตอบฉันต้องการชี้แจงว่าฉันคุ้นเคยกับโครงร่างมาตรฐานสำหรับการเรียกใช้การย้ายฐานข้อมูลโดยใช้เดลต้า คำถามของฉันเกี่ยวกับการสร้างเดลต้าด้วยตัวเองโดยเฉพาะอย่างยิ่งโดยอัตโนมัติ นอกจากนี้การกำหนดเวอร์ชันสำหรับ PHP และ MySQL หากสร้างความแตกต่าง (ไม่มีวิธีแก้ปัญหา Ruby)
128 sql  mysql  schema  versioning 

17
มีเหตุผลที่ดีที่จะใช้ตัวพิมพ์ใหญ่สำหรับคำหลัก SQL หรือไม่? [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่? อัปเดตคำถามเพื่อให้สามารถตอบพร้อมข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ค่าเริ่มต้นดูเหมือนจะเป็นตัวพิมพ์ใหญ่ แต่มีเหตุผลอะไรที่จะใช้ตัวพิมพ์ใหญ่สำหรับคำหลักหรือไม่? ฉันเริ่มใช้ตัวพิมพ์ใหญ่เพราะฉันแค่พยายามจับคู่สิ่งที่ SQL Server ให้ฉันเมื่อใดก็ตามที่ฉันพยายามสร้างบางสิ่งเช่นขั้นตอนการจัดเก็บใหม่ แต่ตอนนั้นฉันรู้สึกแย่มากกับนิ้วลูก (ที่ 5) ของฉันที่ต้องShiftกดปุ่มค้างไว้เสมอฉันจึงหยุดใช้ตัวพิมพ์ใหญ่ เหตุผลใดที่ฉันควรกลับไปใช้ตัวพิมพ์ใหญ่ แก้ไข : ขอบคุณสำหรับคำตอบ ฉันยังไม่ได้เขียนโปรแกรมในสมัยที่โคบอลเป็นราชาดังนั้นฉันจึงไม่รู้เรื่องนี้ ฉันจะใช้ตัวพิมพ์เล็กต่อจากนี้

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