Kom ihåg mig?
Home Menu

Menu


Vad är fel i min SQL?

 
Ämnesverktyg Visningsalternativ
Oläst 2013-02-01, 00:19 #1
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Kod:
-- --------------------------------------------------------------------------------
-- Routine DDL
-- Note: comments before and after the routine body will not be stored by the server
-- --------------------------------------------------------------------------------
DELIMITER $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `ThreadsByLatestActiveDate`()
BEGIN
	SELECT threadid, MAX(LatestActiveDate) as LatestActiveDate
	FROM
	(
		SELECT threadid, MAX(createddate) AS LatestActiveDate from wn.threads
		GROUP BY threadid
		UNION 
		SELECT threadid, MAX(created)  AS LatestActiveDate from wn.posts
		GROUP BY threadid
	) x
	GROUP BY threadid
	ORDER BY LatestActiveDate DESC;
END

Jag döpte om proceduren och fixade lite testkod i PHP om någon vill provköra proceduren i PHP.

Kod:
<?php

$host="localhost";
$port=3306;
$socket="";
$user="root";
$password="mypassword";
$dbname="wn";

$con = new mysqli($host, $user, $password, $dbname, $port, $socket)
	or die ('Could not connect to the database server' . mysqli_connect_error());

//$con->close();

$query = "call `wn`.`ThreadsByLatestActiveDate`";

if ($stmt = $con->prepare($query)) 
{
    $stmt->execute();
    $stmt->bind_result($threadId, $latestActiveDate);
    while ($stmt->fetch()) 
	{
        printf("%s, %s\n", $threadId, $latestActiveDate);
    }
    $stmt->close();
}
?>
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 10:59.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017