Hello Hal�sz S�ndor,

On 10/19/2011 17:50,  wrote:
I made this query a view, called "MEMBERP", no problem:

SELECT MemberID, ereStart, DateModified, MembershipExpires, MemberSince, 
Category, Boardster, GROUP_CONCAT(DISTINCT Salutation ORDER BY Rank) AS 
Salutation, GROUP_CONCAT(DISTINCT GivenName ORDER BY Rank) AS GivenName, 
GROUP_CONCAT(DISTINCT Surname ORDER BY Rank) AS Surname, Street, City, State, 
Zip, HomePhone, Comments, GROUP_CONCAT(DISTINCT WorkPhone ORDER BY Rank) AS 
WorkPhone, GROUP_CONCAT(DISTINCT CellPhone ORDER BY Rank) AS CellPhone, 
GROUP_CONCAT(DISTINCT Email ORDER BY Rank) AS eMail, MAX(Volunteer) AS 
Volunteer, MAX(ReceivesFlyer) AS ReceivesFlyer, Houmuch, Wherat
FROM Nam RIGHT JOIN Address USING (MemberID) LEFT JOIN Paid USING (MemberID)
GROUP BY MemberID
ORDER BY Surname, GivenName

There are tables "Nam" and "Address", and "Paid" is a view.

But when I try to use it for a table, there is trouble:

mysql>  select * from memberp;
ERROR 1250 (42000): Table 'nam' from one of the SELECTs cannot be used in field 
list

If I leave this, "GROUP_CONCAT(DISTINCT GivenName ORDER BY Rank) AS", out, there is no 
trouble. If I leave out any of the other like phrases, there is yet trouble. If I leave the 
"ORDER BY ..." out, there is no trouble.

Only "GivenName" is derived from "GROUP_CONCAT" and is also a lesser field for 
ordering by. Why is that a problem?


Perhaps it is the USING clause that is messing you up. The USING() clause needs to pick one source for MemberID and you appear to have two. Try converting to a more explicit ON clause instead.

Also you are mixing LEFT and RIGHT joins in the same query. While technically not wrong, it's also not 'good form'. I suggest you alter the sequence of your table definitions to use either all LEFT or all RIGHT like this:

FROM Address
LEFT JOIN Nam
  ON ...
LEFT JOIN Paid
  ON ...

Regards,
--
Shawn Green
MySQL Principal Technical Support Engineer
Oracle USA, Inc. - Hardware and Software, Engineered to Work Together.
Office: Blountville, TN

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=arch...@jab.org

Reply via email to