- ベストアンサー
検索の仕方
下記の場合の検索する方法を教えてください。 テーブル:abc id : キー xyz_id : xyzのキーが入る テーブル:xyz xyz_id : キー xyz_name : 適当な文字 テーブルabcに登録されていないテーブルxyzのxyz_idだけをSELECT文で抜き出したいのです。 大変、くだらない質問で恐縮ですが、よろしくお願いいたします。
- ponpokoli
- お礼率100% (1/1)
- その他(データベース)
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
SQL文でLEFT JOINを使います。 SELECT xyz.xyz_id FROM xyz LEFT JOIN abc ON xyz.xyz_id=abc.xyz_id WHERE abc.xyz_id is NULL;
関連するQ&A
- 検索条件について
サーバ上にある以下のようにLOAD DATAでデータベースに登録し LOAD DATA INFILE "/home/abc/test001.csv" INTO TABLE test FIELDS TERMINATED BY ','; ENCLOSED BY '"'; 登録することはできたのですが個々テーブル毎では検索できますが 複数のテーブルで検索するとうまく検索できません。 【個々のテーブルは問題なし】 select * from abc where xyz=12345; select * from 123 where xyz=12345; これですと問題なく検索がヒットします。 【複数のテーブルで検索するとうまくいかない】 select * from abc,123 where abc.xyz=123.xyz; これですと検索してもヒットしません。 ちなみにabcのxyzにある項目を「'」で括ると検索できませんでした。 データは"1","12345"でセットしています。 LOAD DATAのやり方が悪いのでしょうか? どなたか教えていただけませんでしょうか。
- 締切済み
- MySQL
- あいまい検索について
お世話になっております。 早速ですが、SQLをどう書けばいいかで悩んでおります。 テーブルの文字列(varchar)の列をl検索します。 テーブルA------------------------ ID value 1 abc 2 defghijklmnopqrstu 3 vwxyzabcdefg 上記のようなテーブルです。 このテーブルのvalue列で、以下の文字列をもっともたくさん 含むものから優先で取得したいのです。 "abc"、"fg"、"vw"、"pqr"、"xyz" この場合、 IDが1の列は"abc" IDが2の列は"fg"、"pqr" IDが3の列は"fg"、"abc"、"xyz" のようにそれぞれ1個、2個、3個と含んでいますから。 SQLの結果セットにIDが3,2,1といった順番で含まれるように 取得したいのです。 where句にlikeを使うくらいはわかるのですが、それから先が 思い浮かびません。 どうかお知恵をおかしください。
- ベストアンサー
- MySQL
- 2つのテーブルから検索したい
テーブルがA・Bの2つあり、どちらも「ID」と「名前」が入っています。IDをキーとして まずテーブルAで検索して見つからなかった場合ばテーブルBから検索するような Select文は、どのような記述になるのでしょうか?また、ビューとして定義する場合には どのような方法になるのでしょうか?よろしくお願い致します。
- ベストアンサー
- SQL Server
- 大文字/小文字の区別しないで検索したい場合
データベース:ORACLE9i いつもお世話になっています♪ いきなり質問ですが、 例えばこういうデータがテーブルに 入っているとします。 ID NAME ----------- 1 AAA1 2 BBB2 3 CCC3 ----------- そこで下記のSQLを実行するとBBB2はヒットしません。 select * from test_tbl where name like '%b%'; 大文字/小文字を区別しないで検索する方法はないでしょうか? よろしくお願いします♪
- ベストアンサー
- Oracle
- MySQLでのEXCEPTについて
テーブルabcに +----+ | ID | +----+ | 001| | 002| | 003| | 004| +----+ テーブルxyzに +----+ | ID | +----+ | 002| | 003| | 005| +----+ のとき、 select * from abc except select * from xyz; として、abcに属し、xyzには属さないIDを出したいのですが、 ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'selec t * from xyz' at line 3 のエラーが出ます。 何か方法はありますか?
- ベストアンサー
- MySQL
- SQLで'ABC'をDBの'AB'にHIT
sqlite3をVC++2013で扱っています。 もしかしたら、単純な方法があるのかもしれないので質問させてください。 DBに渡す文字が'ABC'でDB内のデータ'AB'にHITさせたいと思っています。 現状思いつく方法は select * from テーブル where キー like 'A%'; select * from テーブル where キー like 'AB%'; select * from テーブル where キー like 'ABC%'; と渡す文字を一文字ずつ増やして検索して row数が0以上の一番小さい数のデータを取得するという方法しか思いつかないのですが。 何か良い方法はありますでしょうか?
- ベストアンサー
- その他(データベース)
- セレクトボックスで現在選択されている値
下記のセレクトボックスがあります。 print "<select name='atai'>"; print "<option value='abc'>abc</option>"; print "<option value='123'>123</option>"; print "<option value='xyz'>xyz</option>"; print "</select>"; 現在、選択されている値を $int の変数に入力 したいのですが、どうしたらいいのでしょうか。 例えば、$int=・・・・・・; というふうに代入 文でできることなのでしょうか。 この場合、現在表示されているCGIで、 $int が、abc か 123 か xyz か知りたい のです。
- ベストアンサー
- Perl
- 半角数字を全角数字で検索できるのはなぜ?
MYSQLの検索について テーブルAAAのitemには半角の「0000」が入っています。 しかし、下記のSQLを実行すると検索されます。 なぜ全角文字を半角として処理するのでしょうか? 検索しないようにするには、どう対処すればよろしいのでしょうか? テーブル構成 TABLE名:AAA id int(11); item varchar(4) utf-8 -> '0000' SQL文 SELECT * FROM AAA WHERE item = '0000'
- 締切済み
- MySQL
- 検索条件に関して
こんばんは。お世話になっております。 id auto_increment randam ランダム数値 id_key 1または2を登録 例えですが、上記のようなカラムがあるテーブルがあり、id_keyに1と登録されているレコードの一覧を検索結果として表示させたいのですが、その際、randamに登録されている数値が同じであるレコード数も同時に検索結果として表示させたいと考えています。 例えですが、具体的には… id randam id_key 1 25252 1 2 25252 2 3 25252 2 4 34535 1 5 57234 1 以上を結果表示として id 1 3件 id 4 1件 id 5 1件 このように、phpにてブラウザに表示させたいと考えているのですが、randamにランダム数値を登録している事もあり、検索条件として同じ数値がある場合の条件設定が分からずに居る次第です。 この数日間、どうにかならないものか?と、ない頭を捻ってはいるものの、思いつく事と言えばif文の嵐になってしまって…。上手く説明できずに分かりにくい日本語になっていますが、ヒントだけでも頂戴出来れば幸いです。 お忙しい中恐縮ですが、宜しくお願い致します。
- ベストアンサー
- MySQL
お礼
無事解決できました。 ありがとうございました!