source: temp/trunk/html/test/kakinaka/mysql.php @ 4769

Revision 4769, 6.7 KB checked in by kakinaka, 20 years ago (diff)

blank

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<?php
2require_once './DB.php'; // PEAR ¤Î DB ¥¯¥é¥¹¤òÆÉ¤ß¹þ¤à
3
4// ViewÊÑ´¹ÍÑ(MySQLÂбþ)
5$arrView = array(
6    "vw_cross_class" => '
7        (SELECT T1.class_id AS class_id1, T2.class_id AS class_id2, T1.classcategory_id AS classcategory_id1, T2.classcategory_id AS classcategory_id2, T1.name AS name1, T2.name AS name2, T1.rank AS rank1, T2.rank AS rank2
8        FROM dtb_classcategory AS T1, dtb_classcategory AS T2 ) vw_cross_class ',
9       
10    "vw_cross_products_class" =>'
11        (SELECT T1.class_id1, T1.class_id2, T1.classcategory_id1, T1.classcategory_id2, T2.product_id,
12        T1.name1, T1.name2, T2.product_code, T2.stock, T2.price01, T2.price02, T1.rank1, T1.rank2
13        FROM vw_cross_class AS T1 LEFT JOIN dtb_products_class AS T2
14        ON T1.classcategory_id1 = T2.classcategory_id1 AND T1.classcategory_id2 = T2.classcategory_id2) vw_cross_products_class ',
15       
16    "vw_products_nonclass" => '
17        (SELECT * FROM dtb_products AS T1 LEFT JOIN
18        (SELECT
19        product_id AS product_id_sub,
20        product_code,
21        price01,
22        price02,
23        stock,
24        stock_unlimited,
25        classcategory_id1,
26        classcategory_id2
27        FROM dtb_products_class WHERE classcategory_id1 = 0 AND classcategory_id2 = 0)
28        AS T2
29        ON T1.product_id = T2.product_id_sub) vw_products_nonclass ',
30   
31    "vw_products_allclass" => '
32        (SELECT
33        product_id,
34        product_code_min,
35        product_code_max,
36        price01_min,
37        price01_max,
38        price02_min,
39        price02_max,
40        stock_min,
41        stock_max,
42        stock_unlimited_min,
43        stock_unlimited_max,
44        del_flg,
45        status,
46        name,
47        comment1,
48        comment2,
49        comment3,
50        rank,
51        main_list_comment,
52        main_image,
53        main_list_image,
54        product_flag,
55        deliv_date_id,
56        sale_limit,
57        point_rate,
58        sale_unlimited,
59        create_date,
60        deliv_fee
61        ,(SELECT rank AS category_rank FROM dtb_category AS T4 WHERE T1.category_id = T4.category_id)
62        ,(SELECT category_id AS sub_category_id FROM dtb_category T4 WHERE T1.category_id = T4.category_id)
63    FROM
64        dtb_products AS T1 RIGHT JOIN (SELECT product_id AS product_id_sub, MIN(product_code) AS product_code_min, MAX(product_code) AS product_code_max, MIN(price01) AS price01_min, MAX(price01) AS price01_max, MIN(price02) AS price02_min, MAX(price02) AS price02_max, MIN(stock) AS stock_min, MAX(stock) AS stock_max, MIN(stock_unlimited) AS stock_unlimited_min, MAX(stock_unlimited) AS stock_unlimited_max FROM dtb_products_class GROUP BY product_id) AS T2 ON T1.product_id = T2.product_id_sub
65    ) chvw_products_allclass ',
66
67    "vw_products_allclass_detail" => '
68        (SELECT product_id,price01_min,price01_max,price02_min,price02_max,stock_min,stock_max,stock_unlimited_min,stock_unlimited_max,
69        del_flg,status,name,comment1,comment2,comment3,deliv_fee,main_comment,main_image,main_large_image,
70        sub_title1,sub_comment1,sub_image1,sub_large_image1,
71        sub_title2,sub_comment2,sub_image2,sub_large_image2,
72        sub_title3,sub_comment3,sub_image3,sub_large_image3,
73        sub_title4,sub_comment4,sub_image4,sub_large_image4,
74        sub_title5,sub_comment5,sub_image5,sub_large_image5,
75        product_flag,deliv_date_id,sale_limit,point_rate,sale_unlimited,file1,file2,category_id
76        FROM (dtb_products AS T1 RIGHT JOIN
77        (SELECT
78        product_id AS product_id_sub,
79        MIN(price01) AS price01_min,
80        MAX(price01) AS price01_max,
81        MIN(price02) AS price02_min,
82        MAX(price02) AS price02_max,
83        MIN(stock) AS stock_min,
84        MAX(stock) AS stock_max,
85        MIN(stock_unlimited) AS stock_unlimited_min,
86        MAX(stock_unlimited) AS stock_unlimited_max
87        FROM dtb_products_class GROUP BY product_id) AS T2
88        ON T1.product_id = T2.product_id_sub) AS T3 LEFT JOIN (SELECT rank AS category_rank, category_id AS sub_category_id FROM dtb_category) AS T4
89        ON T3.category_id = T4.sub_category_id) vw_products_allclass_detail ',
90
91    "vw_product_class" => '
92        (SELECT * FROM
93        (SELECT T3.product_class_id, T3.product_id AS product_id_sub, classcategory_id1, classcategory_id2,
94        T3.rank AS rank1, T4.rank AS rank2, T3.class_id AS class_id1, T4.class_id AS class_id2,
95        stock, price01, price02, stock_unlimited, product_code
96        FROM (dtb_products_class AS T1 LEFT JOIN dtb_classcategory AS T2
97        ON T1.classcategory_id1 = T2.classcategory_id)
98        AS T3 LEFT JOIN dtb_classcategory AS T4
99        ON T3.classcategory_id2 = T4.classcategory_id) AS T5 LEFT JOIN dtb_products AS T6
100        ON product_id_sub = T6.product_id) vw_product_class ',
101
102    "vw_category_count" => '
103        (SELECT T1.category_id, T1.category_name, T1.parent_category_id, T1.level, T1.rank, T2.product_count
104        FROM dtb_category AS T1 LEFT JOIN dtb_category_total_count AS T2
105        ON T1.category_id = T2.category_id) vw_category_count '
106);
107
108print("start<br>");
109/*
110$dsn = "mysql://eccube_db_user:[email protected]/eccube_db";
111print($dsn."<br>");
112
113if(($db = DB::connect($dsn)) == 0){
114  print "¤ª¤ª¤Ã¤È¡ª¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÀܳ¤Ç¤­¤Þ¤»¤ó¡£";
115}
116$result = $db->query("select * from dtb_baseinfo");
117while($row = $result->fetchRow()){
118    print_r($row);
119}
120
121*/
122
123$sql = '
124        (SELECT
125        product_id,
126        product_code_min,
127        product_code_max,
128        price01_min,
129        price01_max,
130        price02_min,
131        price02_max,
132        stock_min,
133        stock_max,
134        stock_unlimited_min,
135        stock_unlimited_max,
136        del_flg,
137        status,
138        name,
139        comment1,
140        comment2,
141        comment3,
142        rank,
143        main_list_comment,
144        main_image,
145        main_list_image,
146        product_flag,
147        deliv_date_id,
148        sale_limit,
149        point_rate,
150        sale_unlimited,
151        create_date,
152        deliv_fee
153        ,(SELECT rank AS category_rank FROM dtb_category AS T4 WHERE T1.category_id = T4.category_id)
154        ,(SELECT category_id AS sub_category_id FROM dtb_category T4 WHERE T1.category_id = T4.category_id)
155    FROM
156        vw_products_allclass, dtb_products AS T1 RIGHT JOIN (SELECT product_id AS product_id_sub, MIN(product_code) AS product_code_min, MAX(product_code) AS product_code_max, MIN(price01) AS price01_min, MAX(price01) AS price01_max, MIN(price02) AS price02_min, MAX(price02) AS price02_max, MIN(stock) AS stock_min, MAX(stock) AS stock_max, MIN(stock_unlimited) AS stock_unlimited_min, MAX(stock_unlimited) AS stock_unlimited_max FROM dtb_products_class GROUP BY product_id) AS T2 ON T1.product_id = T2.product_id_sub
157    ) cng_vw_products_allclass ';
158
159//print(preg_replace("/[\r\n\t]/"," ",$sql));
160// print(eregi_replace("(ILIKE )", "LIKE BINARY ", $sql));
161
162print(sfInArray($sql));
163
164print("end");
165
166// ÇÛÎó¤ÎÃæ¤Ë¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤ë¤«¥Á¥§¥Ã¥¯¤ò¹Ô¤¦(Âçʸ»ú¾®Ê¸»ú¤Î¶èÊ̤ʤ·)
167function sfInArray($sql){
168    global $arrView;
169
170    foreach($arrView as $key => $val){
171        if (stristr($sql, $val) != ""){
172            $changesql = eregi_replace("($key)", "$val", $sql);
173            sfInArray($changesql);
174        }
175    }
176
177    return $sql;
178}
179?>
Note: See TracBrowser for help on using the repository browser.