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

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

7
文字列を連結/集約する最適な方法
異なる行の文字列を1つの行に集約する方法を見つけています。私はさまざまな場所でこれを行うことを考えているので、これを容易にする機能があると便利です。私が使用して解決策を試してみたCOALESCEとFOR XML、彼らはちょうど私のためにそれをカットしないでください。 文字列の集約は次のようになります。 id | Name Result: id | Names -- - ---- -- - ----- 1 | Matt 1 | Matt, Rocks 1 | Rocks 2 | Stylus 2 | Stylus 私は見ました CLR定義の集約関数の代替としてのCOALESCEとFOR XML、どうやらSQL Azureが ありません、私はそれを使用することができるということの全体の多くを解決するだろう知っているので、私にとっては苦痛であるCLR-定義されたものを、サポート私にとっての問題。 すべての可能な回避策はありますか(CLRとして最適とはならないかもしれないが、同様に最適な方法ちょっと私は私のものを集約するために使用できることを、私は私が得ることができるもの取りますよ)?

7
Laravelクエリビルダーを使用してサブクエリから選択する方法
Eloquent ORMを使用して次のSQLで値を取得したいと思います。 -SQL SELECT COUNT(*) FROM (SELECT * FROM abc GROUP BY col1) AS a; それから私は次のことを考えました。 -コード $sql = Abc::from('abc AS a')->groupBy('col1')->toSql(); $num = Abc::from(\DB::raw($sql))->count(); print $num; より良い解決策を探しています。 最も簡単な解決策を教えてください。

9
クエリパターンの実装が見つかりませんでした
私のSilverlightアプリケーションでは、LINQを使用してデータベース接続を作成しようとしています。まず、新しいLINQ to SQLクラスを追加し、「tblPersoon」というテーブルをその中にドラッグします。 次に、サービスファイルで次のクエリを実行します。 [OperationContract] public tblPersoon GetPersoonByID(string id) { var query = (from p in tblPersoon where p.id == id select p).Single(); しかし、tblPersoonでは、次のエラーが表示されます。 ソースタイプ 'SilverlightApplication1.Web.tblPersoon'のクエリパターンの実装が見つかりませんでした。「どこ」が見つかりません。 そして、私が以下を試したときでも: var query = (from p in tblPersoon select p).Single(); 「選択」が見つからないというエラーが表示されます。 私のテーブル用に生成されたクラスのコードはここにあります:http : //pastebin.com/edx3XRhi これは何が原因で、どうすればこれを解決できますか? ありがとうございました。
102 c#  sql  silverlight  wcf  linq 

2
textまたはntextデータ型のREPLACEの代替
datatable.columnのデータを更新/置換する必要があります。テーブルにはという名前のフィールドがありますContent。REPLACE関数を使用しています。列のデータ型がであるためNTEXT、SQL ServerではREPLACE関数を使用できません。 このデータベースはサードパーティのソフトウェアテーブルであるため、データタイプを変更できません。データ型を変更すると、アプリケーションが失敗します。 UPDATE [CMS_DB_test].[dbo].[cms_HtmlText] SET Content = REPLACE(Content,'ABC','DEF') WHERE Content LIKE '%ABC%' 私はこのエラーを受け取ります: メッセージ8116、レベル16、状態1、行1引数データ型ntextは、置換関数の引数1では無効です。 T-SQLでこれを修正できますか?誰かが読んでループする方法の例はありますか? これは1回限りの変換であるため、別のタイプに変更できる可能性がありますが、データをめちゃくちゃにしているようです。 主キーフィールドがあります:名前:ID-整数-これはIDです...だから私もこれについて考える必要があります。Identityを一時的にNに設定している可能性があります。 REPLACE機能の実現方法について教えてください。 約 3000のステートメントは、新しいソリューションで更新する必要があります。
101 sql  sql-server  tsql 

4
NULL列に一意のインデックスを作成するにはどうすればよいですか?
SQL Server 2005を使用しています。NULLを許可しながら、列の値を一意になるように制限したいと考えています。 私の現在のソリューションには、次のようなビューの一意のインデックスが含まれます。 CREATE VIEW vw_unq WITH SCHEMABINDING AS SELECT Column1 FROM MyTable WHERE Column1 IS NOT NULL CREATE UNIQUE CLUSTERED INDEX unq_idx ON vw_unq (Column1) より良いアイデアはありますか?

4
PostgreSQL:別のテーブルから挿入
別のテーブルからテーブルにデータを挿入しようとしていますが、テーブルには共通の列が1つしかありません。問題は、TABLE1にnull値を受け入れない列があるため、空のままにすることができず、TABLE2から取得できないことです。 TABLE1があります:id、col_1(null以外)、col_2(null以外)、col_3(null以外) およびTABLE2:id、col_a、col_b、col_c どのようにして、TABLE2からTABLE1にIDを挿入し、 "data1"、 "data2"、 "data3"などのハードコードされた文字列でcol_1-3を埋めることができますか? INSERT INTO TABLE1 (id) SELECT id FROM TABLE2 WHERE col_a = "something"; 結果は: エラー:列「col_1」のnull値はnull以外の制約に違反しています
101 sql  postgresql  insert  append 

13
SQLエラー「ORA-01722:無効な番号」
誰かのための非常に簡単なもの、次の挿入は私に与えています ORA-01722:番号が無効です どうして? INSERT INTO CUSTOMER VALUES (1,'MALADY','Claire','27 Smith St Caulfield','0419 853 694'); INSERT INTO CUSTOMER VALUES (2,'GIBSON','Jake','27 Smith St Caulfield','0415 713 598'); INSERT INTO CUSTOMER VALUES (3,'LUU','Barry','5 Jones St Malvern','0413 591 341'); INSERT INTO CUSTOMER VALUES (4,'JONES','Michael','7 Smith St Caulfield','0419 853 694'); INSERT INTO CUSTOMER VALUES (5,'MALADY','Betty','27 Smith St …

10
3から6までのランダムなint値を生成します
Microsoft SQL Serverで最小から最大までのランダムな整数値を生成することは可能ですか(3-9の例、15-99など) 私は知っています、0から最大まで生成できますが、最小境界を増やす方法は? このクエリは、1から6までのランダムな値を生成します。3から6に変更する必要があります。 SELECT table_name, 1.0 + floor(6 * RAND(convert(varbinary, newid()))) magic_number FROM information_schema.tables 5秒後に追加: 愚かな質問、申し訳ありません... SELECT table_name, 3.0 + floor(4 * RAND(convert(varbinary, newid()))) magic_number FROM information_schema.tables

5
列が変更された場合にのみSQL更新トリガー
他の例を見ると、次のような結果になりましたが、期待どおりに動作しないようです。QtyToRepair値が更新されている場合にのみ、変更された情報を更新したいのですが...それ。 どこをコメントアウトすると、すべての場合に変更された情報が更新されます。先ほど述べたように、他の例から楽観的になりました。手がかりはありがたいです。ありがとう。 ウォルター ALTER TRIGGER [dbo].[tr_SCHEDULE_Modified] ON [dbo].[SCHEDULE] AFTER UPDATE AS BEGIN SET NOCOUNT ON; UPDATE SCHEDULE SET modified = GETDATE() , ModifiedUser = SUSER_NAME() , ModifiedHost = HOST_NAME() FROM SCHEDULE S INNER JOIN Inserted I on S.OrderNo = I.OrderNo and S.PartNumber = I.PartNumber WHERE S.QtyToRepair <> I.QtyToRepair END
101 sql  sql-server  triggers 

11
SQLAlchemy式から生のコンパイル済みSQLクエリを取得するにはどうすればよいですか?
SQLAlchemyクエリオブジェクトがあり、すべてのパラメーターがバインドされた(たとえば%s、ステートメントコンパイラーまたはMySQLdbダイアレクトエンジンによってバインドされるのを待っている変数がないなど)、コンパイルされたSQLステートメントのテキストを取得します。 str()クエリを呼び出すと、次のようなことがわかります。 SELECT id WHERE date_added <= %s AND date_added >= %s ORDER BY count DESC query._paramsを調べてみましたが、空の辞書です。私はこのsqlalchemy.ext.compiler.compilesデコレータの例を使用して独自のコンパイラを作成しましたが、そこにあるステートメントでさえ、%sデータが必要な場所にまだあります。 クエリを作成するためにパラメーターが混在するタイミングがよくわかりません。クエリオブジェクトを調べるとき、それらは常に空のディクショナリです(ただし、クエリは正常に実行され、エコーロギングをオンにするとエンジンが出力します)。 SQLAlchemyは、基になるクエリを知りたくないというメッセージを受け取り始めています。これは、さまざまなDB-APIのすべての式APIのインターフェイスの一般的な性質を破壊するためです。クエリが何であるかがわかる前にクエリが実行されてもかまいません。ただ知りたいだけです!
101 python  sql  mysql  sqlalchemy 

2
MySQLの既存のフィールドに文字列を追加するにはどうすればよいですか?
すべてのレコードのコードを現在のコードに更新したい_標準アイデアはありますか? たとえば、コードがapple_1とapple_2の場合、apple_1_standardとapple_2_standardにする必要があります 前: id code ------------ 1 apple_1 1 apple_2 疑似クエリ: update categories set code = code + "_standard" where id = 1; 期待される結果: id code ---------------------- 1 apple_1_standard 1 apple_2_standard
101 sql  mysql  string 

8
MySQLは最新の行のみに参加しますか?
customer_id、電子メール、および参照を格納する表customerがあります。顧客に加えられた変更の履歴レコードを格納する追加のテーブルcustomer_dataがあります。つまり、変更があった場合、新しい行が挿入されます。 テーブルに顧客情報を表示するには、2つのテーブルを結合する必要がありますが、customer_dataからの最新の行のみをcustomerテーブルに結合する必要があります。 クエリがページ分割されるという点で少し複雑になるため、制限とオフセットがあります。 MySQLでこれを行うにはどうすればよいですか?DISTINCTをどこかに配置したいと思います... 当日のクエリは次のようになります SELECT *, CONCAT(title,' ',forename,' ',surname) AS name FROM customer c INNER JOIN customer_data d on c.customer_id=d.customer_id WHERE name LIKE '%Smith%' LIMIT 10, 20 さらに、このようにCONCATをLIKEと併用できると思いますか? (INNER JOINは、使用するJOINのタイプが間違っている可能性があることを理解しています。実際には、さまざまなJOINの違いは何なのかわかりません。これから調べます!)
101 mysql  sql  join 


5
LIMIT / OFFSETを使用してクエリを実行し、行の総数も取得します
ページネーションの目的で、LIMITandOFFSET句を使用してクエリを実行する必要があります。ただし、LIMITandOFFSET句なしでそのクエリによって返される行数のカウントも必要です。 実行したい: SELECT * FROM table WHERE /* whatever */ ORDER BY col1 LIMIT ? OFFSET ? そして: SELECT COUNT(*) FROM table WHERE /* whatever */ 同時に。それを行う方法、特にPostgresに最適化させて、両方を個別に実行するよりも高速にする方法はありますか?

13
SQLの結果を多対多の関係にフィルターする方法
私はテーブルを持っていると仮定するとstudent、clubとstudent_club: student { id name } club { id name } student_club { student_id club_id } サッカー(30)クラブと野球(50)クラブの両方ですべての生徒を見つける方法を知りたいです。 このクエリは機能しませんが、これまでのところ最も近いものです。 SELECT student.* FROM student INNER JOIN student_club sc ON student.id = sc.student_id LEFT JOIN club c ON c.id = sc.club_id WHERE c.id = 30 AND c.id = 50

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