Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie bearbeite ich meine vorhandene PHP-Funktion und füge eine weitere Prüfung hinzu?

Verwenden Sie einen LEFT JOIN mit dem PREMIUM Tabelle in Ihrer Abfrage, die die Übertragungszeit überprüft. Verwenden Sie dann eine Übereinstimmung in dieser Tabelle, um die Zeit, mit der Sie vergleichen, zu konditionieren.

$num_rows = $db->doQuery('
    SELECT Class, Race, Strong, Sta, Dex, Intel, Cha, Points, TransferTime
    FROM USERDATA u
    LEFT JOIN PREMIUM p ON p.strAccountID = u.strUserId
    WHERE strUserId = ?
      AND (TransferTime < IF(p.strAccountId IS NULL,
                             DATEADD(DAY,-2,GETDATE()),
                             DATE_SUB(NOW(), INTERVAL 12 HOUR)))
           OR TransferTime IS NULL)
      AND zone<>199 and authority<>255', $character);