sql >> Database teknologi >  >> RDS >> Mysql

Indre slutte sig til hvis udsagn, gruppe

jeg er stadig ikke sikker på, hvad du vil.

sådan noget?

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. Hvordan forespørger jeg efter felter, der indeholder en given tekst i MySQL?

  2. Hvordan forespørges feltet DATETIME kun ved hjælp af dato i Microsoft SQL Server?

  3. Sådan kører du flere opdateringsforespørgsler i en enkelt sætning i PHP og mySQL

  4. Hvad gør Statement.setFetchSize(nSize)-metoden virkelig i SQL Server JDBC-driveren?