Hello MySQL-User,
i need your help with the following query.
I want to get the next birthdays of my friends, but not only the one of
this year.
So when im in december ( or november ) i want to see the birthdays of
next year too....
With my query i only see the birthdays of this year :
SELECT SQL_CACHE DISTINCT fname,lname, mem.mem_id AS p_id,
DATE_FORMAT(mem.birthday,'%d.%m') AS geburtstag,
DATEDIFF(DATE_FORMAT(mem.birthday,CONCAT(DATE_FORMAT(NOW(),'%Y'),'-%m-%d')),DATE_FORMAT(NOW(),'%Y-%m-%d'))
as tage
FROM members mem
INNER JOIN network n ON ( ( n.mid = 1 AND n.action = 1 AND
n.bid=mem.mem_id ) OR ( n.bid = 1 AND n.action = 1 AND n.mid=mem.mem_id) )
WHERE DATE_SUB(DATE_FORMAT(NOW(),'%Y-%m-%d'),INTERVAL 1 DAY) <=
DATE_FORMAT(mem.birthday,CONCAT(DATE_FORMAT(NOW(),'%Y'),'-%m-%d'))
ORDER BY tage
Thx a lot !!!
Cheers
Marco
spacemarc schrieb:
2006/9/6, Miles Thompson <[EMAIL PROTECTED]>:
First of all - please reply to the list ..
I thought you wanted all fields, that's the way your SELECT statement is
constructed. If just the first 20 char from fieldA, then ...
SELECT LEFT(fieldA, 20) AS fieldA FROM Tab1
should do what you want. Again, check the syntax for LEFT() in the
MySQL docs.
the syntax is valid:
from http://dev.mysql.com/doc/refman/5.0/en/string-functions.html:
"LEFT(str,len) returns the leftmost len characters from the string
str, or NULL if any argument is NULL."
mysql> SELECT LEFT('foobarbar', 5);
-> 'fooba'
I have 30 fields: instead writing all 30 fields, I would want to
select them all with * and only for one of they, fieldA, to obtain the
first 20 chars: it's possible?
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]