ホームページ >バックエンド開発 >PHPチュートリアル >2 つのテーブル間の結合クエリ。サブテーブルの fid が同じ場合、SQL ステートメントは 1 つだけ取得されます。

2 つのテーブル間の結合クエリ。サブテーブルの fid が同じ場合、SQL ステートメントは 1 つだけ取得されます。

WBOY
WBOYオリジナル
2016-06-13 13:05:041273ブラウズ

2 つのテーブルが一緒にクエリされ、同じ fid を持つ 1 つのサブテーブルだけがフェッチされます。 SQL ステートメントの書き方?
この投稿は dfwye によって最後に編集されました (2012-11-09 19:45:23)。 2 つのテーブル間の結合クエリ。サブテーブルの fid が同じ場合、SQL ステートメントの記述方法は 1 つだけです。
テーブル画像タイトル
id タイトル タイムコーン

サブテーブル imginfo
img_id fid miaoshu

クエリ条件 id = fid、サブテーブル fid が同じ場合、1 つだけが取得されます
結果は id title time miaoshu テーブル imgtitle
の最新 10 レコードの値
SELECT `id`, `title`,`time`, `miaoshu` FROM `imgtitle`, `imginfo` where id=fid ORDER BY id DESC LIMIT 10 のみを書くことができます。 このクエリの結果は、サブテーブルです。 imginfo fid には同じものがすべてリストされています。
サブテーブル fid の値が同じ場合に 1 つの項目だけを取る SQL ステートメントを作成するにはどうすればよいですか?
アドバイスをお願いします。ありがとう!
------最良の解決策----------------------
select * from `imgtitle`, ` imginfo ` where `imgtitle`.`id`=`miaoshu`.`fid` group by `miaoshu`.`fid` ORDER BY `imgtitle`.`id` DESC LIMIT 10
----- -その他の解決策-------

SELECT  a. id  ,  a.title, a.time, b.miaoshu  FROM  `imgtitle` a<br />
inner join<br />
 (<br />
     SELECT  ` fid `,`miaoshu` from `imginfo` group by fid<br />
 ) b<br />
on  a.id=b.fid  ORDER BY a.id DESC LIMIT 10

------その他の解決策-- --- ---------------
熱心なお二人のおかげで、一階の方法を使わせていただきました。ありがとう!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。