List:General Discussion« Previous MessageNext Message »
From:(Hal Date:October 27 2011 6:08pm
Subject:Re: ERROR 1250 (42000): rejected view
View as plain text  
;>>> 2011/10/20 10:21 -0400, Shawn Green (MySQL) >>>>
On 10/19/2011 17:50,  wrote:
>I made this query a view, called "MEMBERP", no problem:
...snip...
>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.
<<<<<<<<
However (ON, USING, NATURAL) I write joining the three tables on field "MemberID", the
outcome is the same, that error message.


>>>> 2011/10/20 10:21 -0400, Shawn Green (MySQL) >>>>
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 ...
<<<<<<<<
That seems strange to me.

Here, for clarity to my original intent, I write it with NATURAL:

FROM Nam NATURAL RIGHT JOIN Address NATURAL LEFT JOIN Paid 

. To me it looks good, because it emphasizes "Address", wherin "MemberID" originates (It
is also in the order that I wish the fields to appear, although I know MySQL handles
almost everything LEFT). There is also no problem with associativity, because it comes
out the same whichever one is first taken. 

Thread
ERROR 1250 (42000): rejected viewhsv20 Oct
  • Re: ERROR 1250 (42000): rejected viewMySQL)20 Oct
    • Re: ERROR 1250 (42000): rejected viewhsv28 Oct