Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tham gia bên trong với câu lệnh if, nhóm

tôi vẫn không chắc bạn muốn gì.

một cái gì đó như thế này?

WITH group2 AS (

    SELECT r.Restaurant_ID, r.Name, f.Feature
    FROM   Restaurants r
    INNER JOIN Bridge1_Restaurant_Features b ON b.Restaurant_ID = r.Restaurant_ID
    INNER JOIN Features f ON b.Feature_ID = f.Feature_ID
    INNER JOIN
    (
         SELECT Restaurant_ID, COUNT(Feature_ID) AS FeatureCount
         FROM   Bridge1_Restaurant_Features
         <!--- find matching features --->
         WHERE  Feature_ID IN ( <cfqueryparam value="#ARGUMENTS.Feature_ID#"   cfsqltype="cf_sql_integer" list="true"> )
        GROUP BY Restaurant_ID
        <!--- having ALL of the requested features --->
         HAVING COUNT(Feature_ID) = <cfqueryparam value="#listLen(ARGUMENTS.Feature_ID)#" cfsqltype="cf_sql_integer">
        ) ck ON ck.Restaurant_ID = r.Restaurant_Id

)

SELECT r.Name , r.Restaurant_ID, f.feature, r.Price_Range, r.Cuisine_ID, c.Cuisine,
    s.State_ID, s.State, l.Location_ID, l.Area, l.State_ID, r.Name, r.Location_ID
FROM Restaurants r, Bridge1_Restaurant_Features b, Features f, Cuisine c, State s, Location l
    where 0=0
    AND b.Feature_ID = f.Feature_ID 
    AND b.Restaurant_ID = r.Restaurant_ID
    AND r.Cuisine_ID = c.Cuisine_ID 
    AND r.Location_ID = l.Location_ID
    AND l.State_ID = s.State_ID
    <cfif ARGUMENTS.Feature_ID IS NOT "">
    AND f.Feature_ID IN (group2.Restaurant_ID)
    </cfif>
    <cfif ARGUMENTS.Price_Range IS NOT "">
    AND r.Price_Range IN (#ARGUMENTS.Price_Range#)
    </cfif>
    <cfif ARGUMENTS.Cuisine IS NOT "">
    AND r.Cuisine_ID = (#ARGUMENTS.Cuisine#)
    </cfif>
    <cfif val(ARGUMENTS.LocationID2) IS #val(ARGUMENTS.StateID)#>
    AND l.State_ID = #val(ARGUMENTS.LocationID2)#
    <cfelse>
        AND l.Location_ID = #val(ARGUMENTS.LocationID2)#
    </cfif>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Định dạng một số dưới dạng phần trăm trong MySQL

  2. gửi một email với các bản ghi tìm nạp mysql

  3. Mô phỏng SEQUENCE an toàn cho giao dịch trong MySQL

  4. Có bao nhiêu cột trong bảng MySQL

  5. giao dịch mysql - trộn chèn và chọn để đạt được last_insert_id?