[nycphp-talk] A SQL Query Conundrum. I Need Your Assistance...
Peter Sawczynec
ps at pswebcode.com
Wed Mar 1 23:55:40 EST 2006
SELECT at1.attribute_value
FROM User_Attributes AS at1
WHERE at1.attribute_name = 'email'
AND at1.user_id IN
(SELECT user_id FROM User_Attributes AS at2 WHERE at2.attribute_name =
'active' and at2.attribute_value = 'yes')
Above query does the right work, but can you exapand it to get me users's
firt_name from User_Attributes table too.
I need active user's name and email.
Gracias,
Pedro
-----Original Message-----
From: talk-bounces at lists.nyphp.org [mailto:talk-bounces at lists.nyphp.org] On
Behalf Of Carlos A Hoyos
Sent: Wednesday, March 01, 2006 11:06 PM
To: NYPHP Talk
Subject: Re: [nycphp-talk] A SQL Query Conundrum. I Need Your Assistance...
Two very simple options:
1- You can join with the same table multiple times just by giving it
different alias. So for example this following query will get all users id,
SELECT user.user_id, at1.attribute_value as name, at2.attribute_value as
email, FROM users AS user, User_Attributes AS at1, User_Attributes AS at2
WHERE user.user_id = at1.user_id AND user.user_id = at2.user_id AND
at1.attribute_name = 'last_name' AND at2.attribute_name = 'email'
you get the idea...
2- You can use subqueries, for example to get emails for all active users:
select at1.attribute_value from User_Attributes AS at1 where
at1.attribute_name = 'email' and at1.user_id in
select (user_id from User_Attributes AS at2 where at2.attribute_name
= 'active' and at2.attribute_value = 'yes')
you get the point...
I know it's none of my business, but maybe you should use a query like that
one to de-normalize the table, I can't think of a good reason for such level
of normalization.
Carlos Hoyos, Tools Architect
Global Production Services - Tools, ibm.com
1133 Westchester Ave, # 2e 524, White Plains, NY 10604
Phone: 914.642.3569 TieLine: 224.3569
cahoyos at us.ibm.com
_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk
New York PHP Conference and Expo 2006
http://www.nyphpcon.com
Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php
More information about the talk
mailing list