タグ付けされた質問 「sql」

構造化照会言語(SQL)は、データベースを照会するための言語です。質問には、コード例、テーブル構造、サンプルデータ、使用するDBMS実装(MySQL、PostgreSQL、Oracle、MS SQL Server、IBM DB2など)のタグを含める必要があります。質問が特定のDBMSにのみ関連している場合(特定の拡張機能を使用)、代わりにそのDBMSのタグを使用してください。SQLでタグ付けされた質問への回答には、ISO / IEC標準SQLを使用する必要があります。

12
整合性制約違反:1452子行を追加または更新できません:
コメントテーブルに値を挿入しようとしていますが、エラーが発生します。子行を追加または更新できないということで、それが何を意味するのかわかりません。 私のスキーマは次のようになります -- ---------------------------- -- Table structure for `comments` -- ---------------------------- DROP TABLE IF EXISTS `comments`; CREATE TABLE `comments` ( `id` varchar(36) NOT NULL, `project_id` varchar(36) NOT NULL, `user_id` varchar(36) NOT NULL, `task_id` varchar(36) NOT NULL, `data_type_id` varchar(36) NOT NULL, `data_path` varchar(255) DEFAULT NULL, `message` longtext, `created` datetime DEFAULT NULL, …
84 mysql  sql 

13
データベース内のテーブルと各テーブルのフィールドのリストを取得する
基本的なORM(純粋に楽しみのため)の作成を検討していますが、データベース内のテーブルのリストとすべてのテーブルのフィールドを返す方法はありますか? これを使用して、結果セット(C#)をループし、結果セット内の各テーブルに対してこれを実行できるようにします(たとえば、リフレクションを使用して、xyzを実行または含むクラスを作成します)。 これに加えて、SQL Serverの優れたオンラインブログは何ですか?この質問は、SQL ServerでのシステムSPとデータベースの使用に関するものであり、一般的なクエリでも問題ないので、この種の機能を扱っているブログに興味があります。 ありがとう
84 sql  tsql 

4
sqliteでintをrealに変換する
sqliteの除算は整数値を返します sqlite> select totalUsers/totalBids from (select (select count(*) from Bids) as totalBids , (select count(*) from Users) as totalUsers) A; 1 結果をタイプキャストして、除算結果の実際の値を取得できますか?
84 sql  sqlite  casting  division 

3
T-SQLとWHERELIKE%Parameter%句
WHERE LIKE '%text%'句を使用するステートメントを作成しようとしましたが、テキストのパラメーターを使用しようとすると結果が表示されません。たとえば、これは機能します。 SELECT Employee WHERE LastName LIKE '%ning%' これにより、ユーザーにFlenning、Manning、Ningleなどが返されます。ただし、このステートメントでは次のことは行われません。 DECLARE @LastName varchar(max) SET @LastName = 'ning' SELECT Employee WHERE LastName LIKE '%@LastName%' 結果が見つかりません。助言がありますか?前もって感謝します。


5
MySQLでDATETIMEからDATEとTIMEを分割する方法
DATETIMEフィールドをテーブルに格納してい ます。各値は次のようになります:2012-09-0906:57: 12。 私はこの構文を使用しています: date("Y-m-d H:i:s"); 今私の質問は、データをフェッチしているときに、単一のMySQLクエリを使用して、日付と時刻の両方を別々に取得するにはどうすればよいですか? 2012-09-09のような日付と06:57:12のような時間。
84 php  mysql  sql  datetime 

11
1つのクエリで2つのテーブルから削除する
MySQLに2つのテーブルがあります #messages table : messageid messagetitle . . #usersmessages table usersmessageid messageid userid . . メッセージテーブルから削除したい場合は問題ありません。しかし、messageidでメッセージを削除すると、レコードはまだusersmessageに存在し、この2つのテーブルから一度に削除する必要があります。 次のクエリを使用しました: DELETE FROM messages LEFT JOIN usersmessages USING(messageid) WHERE messageid='1' ; それから私はテストします DELETE FROM messages , usersmessages WHERE messages.messageid = usersmessages.messageid and messageid='1' ; しかし、これら2つのクエリはこのタスクを実行していません。
84 sql  mysql 


3
完全外部結合と完全結合
クエリと例をいじって、結合をよりよく理解するだけです。SQL Server 2008では、次の2つのクエリで同じ結果が得られることに気づきました。 SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name SELECT * FROM TableA FULL JOIN TableB ON TableA.name = TableB.name これらはまったく同じアクションを実行して同じ結果を生成しますか、それともより複雑な例で異なる結果に遭遇しますか?これは単に交換可能な用語ですか?

11
SQLServerサブクエリが複数の値を返しました。サブクエリが=、!=、<、<=、>、> =の後に続く場合、これは許可されません。
次のクエリを実行します。 SELECT orderdetails.sku, orderdetails.mf_item_number, orderdetails.qty, orderdetails.price, supplier.supplierid, supplier.suppliername, supplier.dropshipfees, cost = (SELECT supplier_item.price FROM supplier_item, orderdetails, supplier WHERE supplier_item.sku = orderdetails.sku AND supplier_item.supplierid = supplier.supplierid) FROM orderdetails, supplier, group_master WHERE invoiceid = '339740' AND orderdetails.mfr_id = supplier.supplierid AND group_master.sku = orderdetails.sku 次のエラーが発生します。 メッセージ512、レベル16、状態1、行2サブクエリが複数の値を返しました。サブクエリが=、!=、&lt;、&lt;=、&gt;、&gt; =の後に続く場合、またはサブクエリが式として使用される場合、これは許可されません。 何か案は?
84 sql  sql-server  tsql 

9
ORA-00904:識別子が無効です
Oracleデータベースを使用して次の内部結合クエリを作成しようとしました。 SELECT Employee.EMPLID as EmpID, Employee.FIRST_NAME AS Name, Team.DEPARTMENT_CODE AS TeamID, Team.Department_Name AS teamname FROM PS_TBL_EMPLOYEE_DETAILS Employee INNER JOIN PS_TBL_DEPARTMENT_DETAILS Team ON Team.DEPARTMENT_CODE = Employee.DEPTID それは以下のエラーを与えます: INNER JOIN PS_TBL_DEPARTMENT_DETAILS Team ON Team.DEPARTMENT_CODE = Employee.DEPTID * ERROR at line 4: ORA-00904: "TEAM"."DEPARTMENT_CODE": invalid identifier 1つのテーブルのDDLは次のとおりです。 CREATE TABLE "HRMS"."PS_TBL_DEPARTMENT_DETAILS" ( "Company Code" …

4
Postgresを使用して一度に3つのテーブルにデータを挿入します
1つのクエリで3つのテーブルにデータを挿入したいと思います。 私のテーブルは以下のようになります: CREATE TABLE sample ( id bigserial PRIMARY KEY, lastname varchar(20), firstname varchar(20) ); CREATE TABLE sample1( user_id bigserial PRIMARY KEY, sample_id bigint REFERENCES sample, adddetails varchar(20) ); CREATE TABLE sample2( id bigserial PRIMARY KEY, user_id bigint REFERENCES sample1, value varchar(10) ); 挿入するたびにキーを取得し、そのキーを次のテーブルに挿入する必要があります。 私の質問は: insert into sample(firstname,lastname) values('fai55','shaggk') RETURNING …

9
パラメータは本当にSQLインジェクションを防ぐのに十分ですか?
私は同僚とここSOの両方に、SQLクエリ、特に.NETアプリケーションでパラメーターを使用することの良さについて説教してきました。私は、SQLインジェクション攻撃に対する耐性を与えることを彼らに約束することさえしました。 しかし、私はこれが本当に本当かどうか疑問に思い始めています。パラメータ化されたクエリに対して成功する既知のSQLインジェクション攻撃はありますか?たとえば、サーバーでバッファオーバーフローを引き起こす文字列を送信できますか? もちろん、Webアプリケーションが安全であることを保証するために行うべき他の考慮事項があります(ユーザー入力のサニタイズなど)が、今はSQLインジェクションについて考えています。MsSQL 2005および2008はプライマリデータベースであるため、特に攻撃に興味がありますが、すべてのデータベースが興味深いものです。 編集:パラメータとパラメータ化されたクエリの意味を明確にするため。パラメータを使用するということは、SQLクエリを文字列で作成する代わりに「変数」を使用することを意味します。 したがって、これを行う代わりに: SELECT * FROM Table WHERE Name = 'a name' 私たちはこれを行います: SELECT * FROM Table WHERE Name = @Name 次に、クエリ/コマンドオブジェクトの@Nameパラメータの値を設定します。

3
IDENTITY列が1つしかないテーブルに行を挿入する
主キーであるadminIdという1つの列しかないテーブルAdministratorがあります。ビジネスルールのため、このようにする必要があります。 このようなテーブルに値を挿入するストアドプロシージャを作成する方法を一度だけ理解したいと思います。SQL ServerとT-SQLを使用していて、SCOPE_IDENTITY()を使用しようとしましたが、テーブルのINSERT_IDENTITYがfalseまたはoffであるため、機能しません。 新しい行を挿入できるようにするためだけに、ダミー値を挿入したくないのです。ありがとう!

8
単純なDateTimeSQLクエリ
特定の範囲内のDateTimeデータベースフィールドをクエリするにはどうすればよいですか? SQL SERVER2005を使用しています 以下のエラーコード SELECT * FROM TABLENAME WHERE DateTime &gt;= 12/04/2011 12:00:00 AM AND DateTime &lt;= 25/05/2011 3:53:04 AM 特定の時間範囲内で行を取得する必要があることに注意してください。例、10分の時間範囲。 現在、SQLは「12」の近くに誤った構文で返されます。」

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.