私は2つのテーブル、製品テーブル、およびイメージテーブルを持っています。製品は1レコードにつき1つ以上のイメージを持つことができます。私は製品ごとのすべての画像ではなく、製品ごとに1つの画像をリストするSQL文が必要です。SQL:1対多の関係で親あたり1つの子レコードを表示するステートメント
Aは私の現在の取り組みの一例をスケールダウンがある:
SELECT Product.RefCode, Img.ImgPath
FROM Product INNER JOIN (
SELECT ProductImg.ImgPath, ProductImg.PrdFK
FROM ProductImg
LIMIT 0,1) AS Img ON Product.PrdID = Img.PrdFK;
私はサブからLIMIT 0,1を削除する場合は、上記の例では、しかし、0の結果を返し、私はすべての製品の完全なリストを取得するSELECTすべての画像。
商品レコードごとに1つのイメージレコードが返されます。
私は「プログラマ」コードをMySQLに改訂し、うまく動作します。
SELECT Product.RefCode,
(Select ProductImg.ImgPath
From ProductImg
Where Product.PrdID = Img.PrdFK LIMIT 0,1) AS ImgPath
FROM Products
「Bill Karwin's」ソリューションを試しているときに何らかの理由で、サーバーロードが長時間送信されました。
TOPキーワードは、Microsoft SQL Server(およびSybase)の商標です。 –
申し訳ありませんが、私はそれを知らなかった。どうもありがとうございました。 –
小さなリビジョン(上記参照)を作成しましたが、このステートメントは正常に機能しました。 – ticallian