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

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



10
ลบระเบียนที่ซ้ำกันใน PostgreSQL
ฉันมีตารางในฐานข้อมูล PostgreSQL 8.3.8 ซึ่งไม่มีคีย์ / ข้อ จำกัด และมีหลายแถวที่มีค่าเหมือนกันทุกประการ ฉันต้องการลบรายการที่ซ้ำกันทั้งหมดและเก็บไว้เพียง 1 สำเนาของแต่ละแถว มีคอลัมน์หนึ่งคอลัมน์โดยเฉพาะ (ชื่อ "คีย์") ซึ่งอาจใช้เพื่อระบุรายการที่ซ้ำกัน (กล่าวคือควรมีเพียงรายการเดียวสำหรับ "คีย์" ที่แตกต่างกันแต่ละรายการ) ฉันจะทำเช่นนี้ได้อย่างไร? (ตามหลักแล้วคำสั่ง SQL คำสั่งเดียว) ความเร็วไม่ใช่ปัญหาในกรณีนี้ (มีเพียงไม่กี่แถว)

13
จะเลือกเพียง 1 แถวจาก oracle sql ได้อย่างไร
ฉันต้องการใช้ไวยากรณ์ oracle เพื่อเลือกเพียง 1 แถวจากตาราง DUALแถวจากตาราง ตัวอย่างเช่นฉันต้องการดำเนินการค้นหานี้: SELECT user FROM DUAL ... และมันจะมี 40 รายการ แต่ฉันต้องการเพียงบันทึกเดียว ... และฉันต้องการให้มันเกิดขึ้นโดยไม่มีWHEREข้อ ฉันต้องการบางสิ่งในฟิลด์ table_name เช่น: SELECT FirstRow(user) FROM DUAL
113 sql  oracle  oracle9i 

10
SQL UPDATE SET หนึ่งคอลัมน์จะเท่ากับค่าในตารางที่เกี่ยวข้องซึ่งอ้างอิงโดยคอลัมน์อื่น?
ฉันหวังว่ามันจะสมเหตุสมผลให้ฉันอธิบายเพิ่มเติม: มีตารางข้อมูลการติดตามของโปรแกรมตอบคำถามที่แต่ละแถวมี .. รหัสคำถามและรหัสคำตอบ (มีตารางสำหรับแต่ละตาราง) ดังนั้นเนื่องจากข้อผิดพลาดจึงมีรหัสคำถามจำนวนมากที่ตั้งค่าเป็น NULL แต่รหัสคำถามของรหัสคำตอบที่เกี่ยวข้องอยู่ในตารางคำตอบ ดังนั้นให้บอกว่า QuestionID เป็น NULL และ AnswerID คือ 500 ถ้าเราไปที่ตาราง Answers และค้นหา AnswerID 500 จะมีคอลัมน์ที่มีรหัสคำถามที่ควรจะเป็นตำแหน่งที่ค่า NULL อยู่ โดยพื้นฐานแล้วฉันต้องการตั้งค่า NULL QuestionID แต่ละรายการให้เท่ากับรหัสคำถามที่พบในตารางคำตอบในแถวคำตอบของรหัสคำตอบที่อยู่ในตารางการติดตาม (แถวเดียวกับรหัสคำถาม NULL ที่กำลังเขียน) ฉันจะทำอย่างไร UPDATE QuestionTrackings SET QuestionID = (need some select query that will get the QuestionID from the AnswerID in …
112 sql 

11
ฉันจะรับเนื้อหาที่เป็นข้อความจาก BLOB ใน Oracle SQL ได้อย่างไร
ฉันพยายามดูจากคอนโซล SQL ว่ามีอะไรอยู่ใน Oracle BLOB ฉันรู้ว่ามันมีเนื้อหาค่อนข้างใหญ่และฉันต้องการแค่ดูข้อความ แต่แบบสอบถามต่อไปนี้ระบุว่ามี BLOB อยู่ในฟิลด์นั้นเท่านั้น: select BLOB_FIELD from TABLE_WITH_BLOB where ID = '<row id>'; ผลลัพธ์ที่ฉันได้รับไม่ใช่สิ่งที่ฉันคาดหวัง: BLOB_FIELD ----------------------- oracle.sql.BLOB@1c4ada9 ดังนั้นฉันสามารถใช้เวทมนตร์แบบใดเพื่อเปลี่ยน BLOB ให้เป็นการแสดงข้อความได้ PS: ฉันแค่พยายามดูเนื้อหาของ BLOB จากคอนโซล SQL (Eclipse Data Tools) ไม่ใช่ใช้ในโค้ด
112 sql  oracle  blob 

6
วิธีรวมผลลัพธ์“ ศูนย์” /“ 0” ในการรวม COUNT รายการ
ฉันเพิ่งติดอยู่กับ SQL เล็กน้อย ฉันไม่คิดว่าฉันจะเรียบเรียงคำถามได้อย่างยอดเยี่ยมดังนั้นให้ฉันแสดงให้คุณเห็น ฉันมีโต๊ะสองโต๊ะคนหนึ่งเรียกว่านัด ฉันกำลังพยายามส่งคืนจำนวนการนัดหมายที่บุคคลหนึ่งมีอยู่ (รวมถึงถ้าพวกเขามีศูนย์) การนัดหมายประกอบด้วยperson_idและมีการperson_idนัดหมายต่อครั้ง ดังนั้นจึงCOUNT(person_id)เป็นแนวทางที่สมเหตุสมผล คำถาม: SELECT person_id, COUNT(person_id) AS "number_of_appointments" FROM appointment GROUP BY person_id; จะกลับมาถูกต้องจำนวนการนัดหมายที่ person_id มี อย่างไรก็ตามบุคคลที่มีการนัดหมาย 0 ครั้งจะไม่กลับมา (เห็นได้ชัดว่าพวกเขาไม่ได้อยู่ในตารางนั้น) การปรับแต่งคำสั่งเพื่อรับ person_id จากตารางบุคคลทำให้ฉันมีบางสิ่งเช่น: SELECT person.person_id, COUNT(appointment.person_id) AS "number_of_appointments" FROM appointment JOIN person ON person.person_id = appointment.person_id GROUP BY person.person_id; อย่างไรก็ตามสิ่งนี้จะยังคงส่งคืนเฉพาะ person_id ที่มีการนัดหมายไม่ใช่สิ่งที่ฉันต้องการซึ่งเป็นการส่งคืนกับบุคคลที่มีการนัดหมาย 0 …

8
ActiveRecord: แสดงรายการคอลัมน์ในตารางจากคอนโซล
ฉันรู้ว่าคุณสามารถขอให้ ActiveRecord แสดงรายการตารางในคอนโซลโดยใช้: ActiveRecord::Base.connection.tables มีคำสั่งที่จะแสดงรายการคอลัมน์ในตารางที่กำหนดหรือไม่

10
วิธีที่ดีที่สุดในการถอดแท็ก html จากสตริงในเซิร์ฟเวอร์ sql?
ฉันมีข้อมูลใน SQL Server 2005 ที่มีแท็ก html และฉันต้องการตัดส่วนนั้นออกทั้งหมดเหลือเพียงข้อความระหว่างแท็ก ยังเป็นการดีที่จะแทนที่สิ่งต่างๆเช่น<ด้วย<ฯลฯ มีวิธีง่ายๆในการทำเช่นนี้หรือมีใครมีโค้ด t-sql ตัวอย่างแล้ว ฉันไม่มีความสามารถในการเพิ่ม procs ที่เก็บไว้เพิ่มเติมและสิ่งที่คล้ายกันดังนั้นจึงต้องการวิธี t-sql ที่บริสุทธิ์ (โดยเฉพาะอย่างยิ่งหนึ่งย้อนหลังเข้ากันได้กับ sql 2000) ฉันแค่ต้องการดึงข้อมูลด้วย html แบบถอดไม่ได้อัปเดตดังนั้นควรเขียนเป็นฟังก์ชันที่ผู้ใช้กำหนดเองเพื่อให้ง่ายต่อการนำมาใช้ใหม่ ตัวอย่างเช่นการแปลงสิ่งนี้: <B>Some useful text</B>  <A onclick="return openInfo(this)" href="http://there.com/3ce984e88d0531bac5349" target=globalhelp> <IMG title="Source Description" height=15 alt="Source Description" src="/ri/new_info.gif" width=15 align=top border=0> </A>> <b>more text</b></TD></TR> สำหรับสิ่งนี้: Some useful text > more text


7
IDENTITY_INSERT ถูกตั้งค่าเป็นปิด - จะเปิดได้อย่างไร?
ฉันมีฐานข้อมูลไฟล์เก็บถาวรที่ถูกลบซึ่งเก็บ ID ของไฟล์ที่ถูกลบฉันต้องการให้ผู้ดูแลระบบสามารถกู้คืนไฟล์ได้ (รวมถึง ID เดียวกันสำหรับการลิงก์ไฟล์) ฉันไม่ต้องการนำ identity_insert ออกจากทั้งตารางเนื่องจากการเพิ่มทีละรายการทำได้ดีมาก ในTBL_Contentขั้นตอนการแทรกเพื่อจัดเก็บของฉันฉันมีสิ่งนี้ set ANSI_NULLS ON set QUOTED_IDENTIFIER ON SET IDENTITY_INSERT tbl_content ON GO ALTER procedure [dbo].[spInsertDeletedIntoTBLContent] @ContentID int, ...insert command... SET IDENTITY_INSERT tbl_content OFF แต่ฉันยังคงได้รับข้อผิดพลาดเดิม: ไม่สามารถแทรกค่าที่ชัดเจนสำหรับคอลัมน์ข้อมูลประจำตัวในตาราง "TBL_Content" เมื่อ IDENTITY_INSERT ถูกตั้งค่าเป็น OFF ความช่วยเหลือใด ๆ
112 sql  sql-server  tsql 

8
C # SQL Server - ส่งผ่านรายการไปยังโพรซีเดอร์ที่เก็บไว้
ฉันกำลังเรียกใช้กระบวนงานที่จัดเก็บ SQL Server จากรหัส C # ของฉัน: using (SqlConnection conn = new SqlConnection(connstring)) { conn.Open(); using (SqlCommand cmd = new SqlCommand("InsertQuerySPROC", conn)) { cmd.CommandType = CommandType.StoredProcedure; var STableParameter = cmd.Parameters.AddWithValue("@QueryTable", QueryTable); var NDistanceParameter = cmd.Parameters.AddWithValue("@NDistanceThreshold", NDistanceThreshold); var RDistanceParameter = cmd.Parameters.AddWithValue(@"RDistanceThreshold", RDistanceThreshold); STableParameter .SqlDbType = SqlDbType.Structured; NDistanceParameter.SqlDbType = SqlDbType.Int; RDistanceParameter.SqlDbType = …

10
ซ่อมแซมตารางทั้งหมดในครั้งเดียว
วิธีตรวจสอบตารางทั้งหมดในฐานข้อมูลในครั้งเดียว? แทนที่จะพิมพ์คำค้นหาcheck table ''tablename'';สำหรับตารางทั้งหมดทีละตาราง มีคำสั่งง่ายๆเหมือนcheck allหรืออะไรแบบนั้นไหม?
112 mysql  sql 

8
ฉันจะรับหมายเลขบรรทัดโพรซีเดอร์ที่เก็บไว้จริงจากข้อความแสดงข้อผิดพลาดได้อย่างไร?
เมื่อฉันใช้ SQL Server และมีข้อผิดพลาดข้อความแสดงข้อผิดพลาดจะให้หมายเลขบรรทัดที่ไม่มีความสัมพันธ์กับหมายเลขบรรทัดในโพรซีเดอร์ที่เก็บไว้ ฉันคิดว่าความแตกต่างเกิดจากพื้นที่สีขาวและความคิดเห็น แต่มันจริงเหรอ? ฉันจะเชื่อมโยงตัวเลขสองชุดนี้เข้าด้วยกันได้อย่างไร ถ้าใครสามารถชี้ทิศทางที่ถูกต้องให้ฉันได้ฉันจะขอบคุณจริงๆ ฉันใช้ SQL Server 2005

2
Postgres: คีย์คอมโพสิตทำอย่างไร?
ฉันไม่เข้าใจข้อผิดพลาดทางไวยากรณ์ในการสร้างคีย์ผสม อาจเป็นข้อผิดพลาดทางตรรกะเนื่องจากฉันได้ทดสอบหลายพันธุ์ คุณสร้างคีย์ผสมใน Postgres ได้อย่างไร? CREATE TABLE tags ( (question_id, tag_id) NOT NULL, question_id INTEGER NOT NULL, tag_id SERIAL NOT NULL, tag1 VARCHAR(20), tag2 VARCHAR(20), tag3 VARCHAR(20), PRIMARY KEY(question_id, tag_id), CONSTRAINT no_duplicate_tag UNIQUE (question_id, tag_id) ); ERROR: syntax error at or near "(" LINE 3: (question_id, tag_id) NOT NULL, ^

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