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

mysql forespørgsel værelse tilgængelighed

IF(($q1) > 0, 1, 0)

Dette er den del, der returnerer fejlen.

Også som du har det, $q1 bliver evalueret to gange, hvilket nok ikke er, hvad du ønsker.

Hvis jeg forstår rigtigt, hvad du prøver at gøre, så burde du bare kunne udelade denne del. Hvis $q1 returnerer ingen rækker, derefter IN udtryk vil simpelthen ikke matche noget som helst.

Bør også bemærke, at IN med underforespørgsler er ret ineffektivt i MySQL; ville løbe meget hurtigere med en join:

SELECT `c_title` FROM `c_content` JOIN ($q1) `a` ON `c_content`.`c_id`=`a`.`bd_h_id`


  1. Kan en Check-begrænsning relatere til en anden tabel?

  2. Konvertering mellem dato- og klokkeslætsdatatyper i SQL Server (T-SQL-eksempler)

  3. Sådan læser og fortolker du SQL-fejl

  4. mysql kombinere forespørgselsresultater side om side