Changeset 18341
- Timestamp:
- 2009/10/19 22:50:03 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/comu-ver2/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php
r18275 r18341 252 252 */ 253 253 function viewToSubQuery() { 254 $sql['vw_products_allclass_detail'] =<<< __EOS__ 255 ( 256 SELECT 257 dtb_products.product_id, 258 dtb_products.name, 259 dtb_products.deliv_fee, 260 dtb_products.sale_limit, 261 dtb_products.maker_id, 262 dtb_products.rank, 263 dtb_products.status, 264 dtb_products.product_flag, 265 dtb_products.point_rate, 266 dtb_products.comment1, 267 dtb_products.comment2, 268 dtb_products.comment3, 269 dtb_products.comment4, 270 dtb_products.comment5, 271 dtb_products.comment6, 272 dtb_products.note, 273 dtb_products.file1, 274 dtb_products.file2, 275 dtb_products.file3, 276 dtb_products.file4, 277 dtb_products.file5, 278 dtb_products.file6, 279 dtb_products.main_list_comment, 280 dtb_products.main_list_image, 281 dtb_products.main_comment, 282 dtb_products.main_image, 283 dtb_products.main_large_image, 284 dtb_products.sub_title1, 285 dtb_products.sub_comment1, 286 dtb_products.sub_image1, 287 dtb_products.sub_large_image1, 288 dtb_products.sub_title2, 289 dtb_products.sub_comment2, 290 dtb_products.sub_image2, 291 dtb_products.sub_large_image2, 292 dtb_products.sub_title3, 293 dtb_products.sub_comment3, 294 dtb_products.sub_image3, 295 dtb_products.sub_large_image3, 296 dtb_products.sub_title4, 297 dtb_products.sub_comment4, 298 dtb_products.sub_image4, 299 dtb_products.sub_large_image4, 300 dtb_products.sub_title5, 301 dtb_products.sub_comment5, 302 dtb_products.sub_image5, 303 dtb_products.sub_large_image5, 304 dtb_products.sub_title6, 305 dtb_products.sub_comment6, 306 dtb_products.sub_image6, 307 dtb_products.sub_large_image6, 308 dtb_products.del_flg, 309 dtb_products.creator_id, 310 dtb_products.create_date, 311 dtb_products.update_date, 312 dtb_products.deliv_date_id, 313 T4.product_code_min, 314 T4.product_code_max, 315 T4.price01_min, 316 T4.price01_max, 317 T4.price02_min, 318 T4.price02_max, 319 T4.stock_min, 320 T4.stock_max, 321 T4.stock_unlimited_min, 322 T4.stock_unlimited_max, 323 T4.class_count 324 FROM 325 dtb_products 326 LEFT JOIN 327 ( 328 SELECT 329 product_id, 330 MIN(product_code) AS product_code_min, 331 MAX(product_code) AS product_code_max, 332 MIN(price01) AS price01_min, 333 MAX(price01) AS price01_max, 334 MIN(price02) AS price02_min, 335 MAX(price02) AS price02_max, 336 MIN(stock) AS stock_min, 337 MAX(stock) AS stock_max, 338 MIN(stock_unlimited) AS stock_unlimited_min, 339 MAX(stock_unlimited) AS stock_unlimited_max, 340 COUNT(*) as class_count 341 FROM dtb_products_class 342 GROUP BY product_id 343 ) AS T4 344 ON dtb_products.product_id = T4.product_id 345 ) 346 __EOS__; 347 348 return array( 349 "vw_cross_class" => ' 350 (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 351 FROM dtb_classcategory AS T1, dtb_classcategory AS T2 ) ', 352 353 "vw_cross_products_class" =>' 354 (SELECT T1.class_id1, T1.class_id2, T1.classcategory_id1, T1.classcategory_id2, T2.product_id, 355 T1.name1, T1.name2, T2.product_code, T2.stock, T2.price01, T2.price02, T1.rank1, T1.rank2 356 FROM (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 357 FROM dtb_classcategory AS T1, dtb_classcategory AS T2 ) AS T1 LEFT JOIN dtb_products_class AS T2 358 ON T1.classcategory_id1 = T2.classcategory_id1 AND T1.classcategory_id2 = T2.classcategory_id2) ', 359 360 "vw_products_nonclass" => ' 254 255 static $sql = array(); 256 257 if (empty($sql)) { 258 259 $sql['vw_cross_class'] = <<< __EOS__ 260 ( 261 SELECT 262 T1.class_id AS class_id1, 263 T2.class_id AS class_id2, 264 T1.classcategory_id AS classcategory_id1, 265 T2.classcategory_id AS classcategory_id2, 266 T1.name AS name1, 267 T2.name AS name2, 268 T1.rank AS rank1, 269 T2.rank AS rank2 270 FROM 271 dtb_classcategory AS T1, 272 dtb_classcategory AS T2 273 ) 274 __EOS__; 275 276 $sql['vw_cross_products_class'] = <<< __EOS__ 277 ( 278 SELECT 279 T1.class_id1, 280 T1.class_id2, 281 T1.classcategory_id1, 282 T1.classcategory_id2, 283 T2.product_id, 284 T1.name1, 285 T1.name2, 286 T2.product_code, 287 T2.stock, 288 T2.price01, 289 T2.price02, 290 T1.rank1, 291 T1.rank2 292 FROM 293 {$sql['vw_cross_class']} AS T1 294 LEFT JOIN dtb_products_class AS T2 295 ON T1.classcategory_id1 = T2.classcategory_id1 296 AND T1.classcategory_id2 = T2.classcategory_id2 297 ) 298 __EOS__; 299 300 $sql['vw_products_nonclass'] = <<< __EOS__ 361 301 ( 362 302 SELECT * … … 381 321 ON T1.product_id = T2.product_id_sub 382 322 ) 383 ', 384 385 "vw_products_allclass" => " 386 ( 387 SELECT 388 alldtl.*, 389 dtb_category.rank AS category_rank, 390 T2.category_id, 391 T2.rank AS product_rank 392 FROM 393 {$sql['vw_products_allclass_detail']} AS alldtl 394 LEFT JOIN 395 dtb_product_categories AS T2 396 ON alldtl.product_id = T2.product_id 397 LEFT JOIN 398 dtb_category 399 ON T2.category_id = dtb_category.category_id 400 ) ", 401 402 "vw_products_allclass_detail" => $sql['vw_products_allclass_detail'], 403 404 "vw_product_class" => ' 323 __EOS__; 324 325 $sql['vw_products_allclass_detail'] = <<< __EOS__ 326 ( 327 SELECT 328 dtb_products.product_id, 329 dtb_products.name, 330 dtb_products.deliv_fee, 331 dtb_products.sale_limit, 332 dtb_products.maker_id, 333 dtb_products.rank, 334 dtb_products.status, 335 dtb_products.product_flag, 336 dtb_products.point_rate, 337 dtb_products.comment1, 338 dtb_products.comment2, 339 dtb_products.comment3, 340 dtb_products.comment4, 341 dtb_products.comment5, 342 dtb_products.comment6, 343 dtb_products.note, 344 dtb_products.file1, 345 dtb_products.file2, 346 dtb_products.file3, 347 dtb_products.file4, 348 dtb_products.file5, 349 dtb_products.file6, 350 dtb_products.main_list_comment, 351 dtb_products.main_list_image, 352 dtb_products.main_comment, 353 dtb_products.main_image, 354 dtb_products.main_large_image, 355 dtb_products.sub_title1, 356 dtb_products.sub_comment1, 357 dtb_products.sub_image1, 358 dtb_products.sub_large_image1, 359 dtb_products.sub_title2, 360 dtb_products.sub_comment2, 361 dtb_products.sub_image2, 362 dtb_products.sub_large_image2, 363 dtb_products.sub_title3, 364 dtb_products.sub_comment3, 365 dtb_products.sub_image3, 366 dtb_products.sub_large_image3, 367 dtb_products.sub_title4, 368 dtb_products.sub_comment4, 369 dtb_products.sub_image4, 370 dtb_products.sub_large_image4, 371 dtb_products.sub_title5, 372 dtb_products.sub_comment5, 373 dtb_products.sub_image5, 374 dtb_products.sub_large_image5, 375 dtb_products.sub_title6, 376 dtb_products.sub_comment6, 377 dtb_products.sub_image6, 378 dtb_products.sub_large_image6, 379 dtb_products.del_flg, 380 dtb_products.creator_id, 381 dtb_products.create_date, 382 dtb_products.update_date, 383 dtb_products.deliv_date_id, 384 T4.product_code_min, 385 T4.product_code_max, 386 T4.price01_min, 387 T4.price01_max, 388 T4.price02_min, 389 T4.price02_max, 390 T4.stock_min, 391 T4.stock_max, 392 T4.stock_unlimited_min, 393 T4.stock_unlimited_max, 394 T4.class_count 395 FROM 396 dtb_products 397 LEFT JOIN 398 ( 399 SELECT 400 product_id, 401 MIN(product_code) AS product_code_min, 402 MAX(product_code) AS product_code_max, 403 MIN(price01) AS price01_min, 404 MAX(price01) AS price01_max, 405 MIN(price02) AS price02_min, 406 MAX(price02) AS price02_max, 407 MIN(stock) AS stock_min, 408 MAX(stock) AS stock_max, 409 MIN(stock_unlimited) AS stock_unlimited_min, 410 MAX(stock_unlimited) AS stock_unlimited_max, 411 COUNT(*) as class_count 412 FROM dtb_products_class 413 GROUP BY product_id 414 ) AS T4 415 ON dtb_products.product_id = T4.product_id 416 ) 417 __EOS__; 418 419 $sql['vw_products_allclass'] = <<< __EOS__ 420 ( 421 SELECT 422 alldtl.*, 423 dtb_category.rank AS category_rank, 424 T2.category_id, 425 T2.rank AS product_rank 426 FROM 427 {$sql['vw_products_allclass_detail']} AS alldtl 428 LEFT JOIN 429 dtb_product_categories AS T2 430 ON alldtl.product_id = T2.product_id 431 LEFT JOIN 432 dtb_category 433 ON T2.category_id = dtb_category.category_id 434 ) 435 __EOS__; 436 437 $sql['vw_product_class'] = <<< __EOS__ 405 438 (SELECT * FROM 406 439 (SELECT T3.product_class_id, T3.product_id AS product_id_sub, classcategory_id1, classcategory_id2, … … 423 456 AS T3 LEFT JOIN dtb_classcategory AS T4 424 457 ON T3.classcategory_id2 = T4.classcategory_id) AS T5 LEFT JOIN dtb_products AS T6 425 ON product_id_sub = T6.product_id) ', 426 427 "vw_category_count" => ' 458 ON product_id_sub = T6.product_id) 459 __EOS__; 460 461 $sql['vw_category_count'] = <<< __EOS__ 428 462 (SELECT T1.category_id, T1.category_name, T1.parent_category_id, T1.level, T1.rank, T2.product_count 429 463 FROM dtb_category AS T1 LEFT JOIN dtb_category_total_count AS T2 430 ON T1.category_id = T2.category_id) ' 431 ); 464 ON T1.category_id = T2.category_id) 465 __EOS__; 466 } 467 468 return $sql; 469 432 470 } 433 471 }
Note: See TracChangeset
for help on using the changeset viewer.