[前][次][番号順一覧][スレッド一覧]

mysql:12173

From: 自由席特急 <自由席特急 <kaisoku0@xxxxxxxxxx>>
Date: Sat, 24 Sep 2005 14:57:27 +0900
Subject: [mysql 12173] Re: SQL文について

自由席特急です。

> 「q1」
> SELECT afftb.id, afftb.affid, afftb.goodsid, afftb.affst,
> afftb.note1, afftb.note2 FROM afftb WHERE (((afftb.affid)=11113));
>
> 「q2」
> SELECT goodstb.id, goodstb.name, goodstb.exp,
> goodstb.comment, goodstb.adtext, goodstb.price2,
> goodstb.price3, goodstb.note1, [q1].affst FROM goodstb LEFT
> JOIN q1 ON goodstb.id=[q1].goodsid WHERE (((goodstb.note1)=1)
> And (([q1].affst) Is Null Or ([q1].affst)=1));
>
> 上記のSQL文のクエリー「q1」と「q1」を使用して作った「q2」のSQL文です
> が、
> これをMySqlで動かす場合の方法(SQL文をひとつにする方法)をご教授い> だけないでしょうか?
> いろいろ調べ、試してみましたが、わかりませんでしたので、よろしくお願いしま
> す。
>

SELECT
 goodstb.id, goodstb.name, goodstb.exp,
 goodstb.comment, goodstb.adtext,
 goodstb.price2, goodstb.price3,
 goodstb.note1, afftb.affst
 FROM goodstb, afftb
 LEFT JOIN afftb ON goodstb.id=afftb.goodsid

 WHERE goodstb.note1=1 And afftb.affst
 Is Null Or afftb.affst=1 And afftb.affid=11113

これで動きませんでしたでしょうか?

または、
q1の使用頻度が高いなら、
データ定義クエリで
create view hogehoeg.q1 as
 SELECT afftb.id, afftb.affid,
  afftb.goodsid, afftb.affst,
  afftb.note1, afftb.note2
  FROM afftb
  WHERE afftb.affid=11113
を実行してSQLサーバー上にビューを作成した上で
q2を実行するとかが妥当ではないかと思います。。。

--

****************************
自由席特急
Mail:kaisoku0@xxxxxxxxxx
****************************


[前][次][番号順一覧][スレッド一覧]

     12172 2005-09-24 07:13 ["ス-パーアフィリエ�] SQL文について                        
->   12173 2005-09-24 14:57 ┗[自由席特急 <kaisoku0]                                       
     12174 2005-09-24 15:26  ┗["ス-パーアフィリエ�]