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

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


20
รับรายการวันที่ระหว่างวันที่สองวัน
การใช้ฟังก์ชัน mysql มาตรฐานมีวิธีการเขียนแบบสอบถามที่จะส่งคืนรายการวันระหว่างวันที่สองวัน เช่นให้ 2009-01-01 และ 2009-01-13 มันจะส่งคืนตารางคอลัมน์เดียวที่มีค่า: 2009-01-01 2009-01-02 2009-01-03 2009-01-04 2009-01-05 2009-01-06 2009-01-07 2009-01-08 2009-01-09 2009-01-10 2009-01-11 2009-01-12 2009-01-13 แก้ไข: ดูเหมือนว่าฉันยังไม่ชัดเจน ฉันต้องการสร้างรายการนี้ ฉันมีค่าที่เก็บไว้ในฐานข้อมูล (ตามวันที่และเวลา) แต่ต้องการให้รวมในการรวมภายนอกด้านซ้ายไปยังรายการวันที่ตามด้านบน (ฉันคาดว่าค่าว่างจากด้านขวาของการรวมนี้บางวันและจะจัดการสิ่งนี้ ).

7
จะตรวจสอบจำนวนการเชื่อมต่อสูงสุดที่อนุญาตกับฐานข้อมูล Oracle ได้อย่างไร
วิธีใดที่ดีที่สุดในการใช้ SQL เพื่อตรวจสอบจำนวนการเชื่อมต่อสูงสุดที่อนุญาตสำหรับฐานข้อมูล Oracle ในท้ายที่สุดฉันต้องการแสดงจำนวนเซสชันปัจจุบันและจำนวนทั้งหมดที่อนุญาตเช่น "ปัจจุบันใช้การเชื่อมต่อ 23 จาก 80 รายการ"
91 sql  oracle 

9
INSERT เทียบกับ INSERT INTO
ฉันทำงานกับ T-SQL ใน MS SQL มาระยะหนึ่งแล้วและเมื่อใดก็ตามที่ฉันต้องแทรกข้อมูลลงในตารางฉันมักจะใช้ไวยากรณ์: INSERT INTO myTable <something here> ฉันเข้าใจว่าคำหลักINTOนั้นเป็นตัวเลือกที่นี่และฉันไม่จำเป็นต้องใช้ แต่อย่างใดมันก็กลายเป็นนิสัยในกรณีของฉัน คำถามของฉันคือ: มีความหมายของการใช้INSERTวากยสัมพันธ์INSERT INTOหรือไม่? ข้อใดเป็นไปตามมาตรฐานอย่างครบถ้วน ทั้งสองอย่างถูกต้องในการใช้งานมาตรฐาน SQL อื่น ๆ หรือไม่?
91 sql  sql-server  tsql 

2
วิธีรับแถวแรก / บนสุดของตารางใน Sqlite ผ่าน Sql Query
ฉันต้องการดึงข้อมูลแถวแรก / บนสุดของตารางในฐานข้อมูล Sqlite แต่โปรแกรมของฉันส่ง SQLException "Sqlite Syntax Error: Syntax error ใกล้ '1'" สำหรับข้อความค้นหาที่ฉันใช้: SELECT TOP 1 * FROM SAMPLE_TABLE ฉันเดาว่าเป็นไวยากรณ์โดยเฉพาะสำหรับ MS SQL SERVER และ MS ACCESS ตอนนี้ฉันใช้. SELECT * FROM SAMPLE_TABLE LIMIT 1 ทางออกที่ดีที่สุดสำหรับปัญหานี้คืออะไร?
91 sql  sqlite 


16
แบบสอบถาม SQL: ลบระเบียนทั้งหมดออกจากตารางยกเว้น N ล่าสุด?
เป็นไปได้ไหมที่จะสร้างแบบสอบถาม mysql เดียว (โดยไม่มีตัวแปร) เพื่อลบระเบียนทั้งหมดออกจากตารางยกเว้น N ล่าสุด (เรียงตาม id desc) อะไรทำนองนี้มันใช้ไม่ได้ :) delete from table order by id ASC limit ((select count(*) from table ) - N) ขอบคุณ.
91 sql  mysql 

10
จะแทรกค่าตารางจากฐานข้อมูลหนึ่งไปยังฐานข้อมูลอื่นได้อย่างไร? [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน3 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ ฉันต้องการให้แบบสอบถามแทรกระเบียนจากตารางหนึ่งไปยังตารางอื่นในฐานข้อมูลอื่นหากมีตารางปลายทางอยู่แล้วก็ควรต่อท้ายระเบียนที่ท้ายตาราง

5
ข้อผิดพลาดทางคณิตศาสตร์มากเกินไปในการแปลงตัวเลขเป็นตัวเลขชนิดข้อมูล
ฉันได้รับข้อความแสดงข้อผิดพลาดนี้ทุกครั้งที่เรียกใช้แบบสอบถามนี้: Msg 8115, Level 16, State 8, Line 33 Arithmetic overflow error converting numeric to data type numeric. The statement has been terminated. แต่ถ้าฉันเปลี่ยนตารางสร้างเป็น (7,0) ฉันจะไม่ได้รับข้อความแสดงข้อผิดพลาด แต่ฉันต้องการให้ข้อมูลของฉันแสดงเป็นทศนิยม ฉันลอง 8,3 ไม่ได้ผล มีใครสามารถช่วยฉันทำงานนี้ได้หรือไม่ความช่วยเหลือใด ๆ จะได้รับการชื่นชมอย่างมาก DECLARE @StartDate AS DATETIME DECLARE @StartDate_y AS DATETIME DECLARE @EndDate AS DATETIME DECLARE @temp_y AS DATETIME SET …

8
ค่าเริ่มต้นไม่ถูกต้องสำหรับ "dateAdded"
ฉันมีปัญหาโง่ ๆ กับ SQL ที่ฉันไม่สามารถแก้ไขได้ แก้ไขตาราง "ข่าว" ADD "dateAdded` DATETIME not NULL DEFAULT CURRENT_TIMESTAMP AUTO_INCREMENT, เพิ่มคีย์หลัก ("dateAdded`) ข้อผิดพลาด: (#1067)Invalid default value for 'dateAdded' ใครสามารถช่วยฉัน?
91 mysql  sql 

14
มีตัวดำเนินการ C # IN หรือไม่?
ใน SQL คุณสามารถใช้ไวยากรณ์ต่อไปนี้: SELECT * FROM MY_TABLE WHERE VALUE_1 IN (1, 2, 3) มี C # เทียบเท่าหรือไม่? ดูเหมือนว่า IDE จะรู้จักคำว่า "in" แต่ดูเหมือนว่าฉันจะไม่พบข้อมูลใด ๆ เป็นไปได้ไหมที่จะทำสิ่งต่อไปนี้: int myValue = 1; if (myValue in (1, 2, 3)) // Do something แทน int myValue = 1; if (myValue == 1 || myValue == 2 …

7
เซิร์ฟเวอร์ SQL ละเว้นกรณีในนิพจน์ where
ฉันจะสร้างแบบสอบถาม SQL (MS SQL Server) ได้อย่างไรโดยที่ส่วนคำสั่ง "where" ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ SELECT * FROM myTable WHERE myField = 'sOmeVal' ฉันต้องการให้ผลลัพธ์กลับมาโดยไม่สนใจคดี

7
วิธีตรวจสอบว่าฟิลด์ว่างหรือว่างใน MySQL?
ฉันกำลังพยายามหาวิธีตรวจสอบว่าฟิลด์ว่างNULLหรือไม่ ฉันมีสิ่งนี้: SELECT IFNULL(field1, 'empty') as field1 from tablename ฉันต้องการตรวจสอบเพิ่มเติมfield1 != ""บางอย่างเช่น: SELECT IFNULL(field1, 'empty') OR field1 != "" as field1 from tablename มีความคิดอย่างไรที่จะทำสิ่งนี้ให้สำเร็จ?
91 mysql  sql 

4
จะเลือก id ด้วย max date group ตามหมวดหมู่ใน PostgreSQL ได้อย่างไร?
ตัวอย่างเช่นฉันต้องการเลือก id ที่มีกลุ่มวันที่สูงสุดตามหมวดหมู่ผลลัพธ์คือ 7, 2, 6 id category date 1 a 2013-01-01 2 b 2013-01-03 3 c 2013-01-02 4 a 2013-01-02 5 b 2013-01-02 6 c 2013-01-03 7 a 2013-01-03 8 b 2013-01-01 9 c 2013-01-01 ฉันขอทราบวิธีการทำใน PostgreSQL ได้ไหม

2
SQL LEFT JOIN นามแฝงการสืบค้นย่อย
ฉันกำลังเรียกใช้แบบสอบถาม SQL นี้: SELECT wp_woocommerce_order_items.order_id As No_Commande FROM wp_woocommerce_order_items LEFT JOIN ( SELECT meta_value As Prenom FROM wp_postmeta WHERE meta_key = '_shipping_first_name' ) AS a ON wp_woocommerce_order_items.order_id = a.post_id WHERE wp_woocommerce_order_items.order_id =2198 และฉันได้รับข้อผิดพลาดนี้: # 1054 - คอลัมน์ที่ไม่รู้จัก 'a.post_id' ใน 'ในประโยค' ฉันคิดว่ารหัสของฉันค่อนข้างเรียบง่าย แต่ฉันทำไม่ถูก ผมทำอะไรผิดหรือเปล่า?

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