Re: Nested sort, trying again
Date: Thu, 29 Sep 2005 19:15:48 +0200
Message-ID: <433c2115$0$11066$e4fe514c_at_news.xs4all.nl>
Bob Stearns wrote:
> I have a table (see below for ddl) which implements a set of locations
> for an organization, from the whole organization to shelves in a
> particular room. Users never see the primary key, only the NAMEX,
What does namex, etc... mean? I am guessing namex is a (the?) name (is it globally unique?) for the location, rightx is a (the?) name for the location to the right of it, and leftx to the left. Right sofar?
No abovex, belowx, behindx, infrontofx, so lineair space?
> usually as a drop down selection list, sometimes a single selection
> other times a multiselection. Users, being users, want the ability to
> change names and to see the names in sorted order at each level.
In the example I don't see what you mean by level. Which level are you talking about?
> If I didn't have to have changeable names,
> I could define the data in alphabetic order.
> is there (relatively) easy
> way to present the data in a sorted manner?
> This is the same as seeing
> you directory tree in Windows explorer with the name chosen as the sort
> key. The root directory is sorted in filename order, then every
> directory under in it also in name order, down an arbitrary number of
> levels. In my examples, users attach people, functions, things etc. to
> locations at any level, can add additional locations at any level
> (dividing up a room, adding shelving, buying a new building, etc.).
> Because history is important, locations can only become inactive, never
> deleted.
That's a different problem. One at a time.
Let's postpone the history-problem
for now and make sure can get all
data we need for the current situation.
> Because of the arbitrary number of levels,
> I can not join any
More nitpicking:
> other table to achieve the sort I want.
>
> CREATE TABLE IS3.LOCATIONS (
> LOC_ID INTEGER GENERATED BY DEFAULT AS IDENTITY
> (START WITH 1, INCREMENT BY 1, CACHE 20) NOT NULL,
> NAMEX VARCHAR(30) NOT NULL,
> LEFTX INTEGER NOT NULL,
> RIGHTX INTEGER NOT NULL,
> ENTITY_ID INTEGER NOT NULL,
> INACTIVE CHARACTER(25),
Just nitpicking: try to use positives where possible.
If you really want this meaning say e.g. "obsolete".
But, as I said, ISTM history is a problem we can focus on later.
> PRIMARY KEY(LOC_ID)
> )
> GO
> ALTER TABLE IS3.LOCATIONS
> ADD CONSTRAINT INACTIVE
> CHECK (INACTIVE in ('Y','N'))
> GO
> ALTER TABLE IS3.LOCATIONS
> ADD CONSTRAINT SQL040717191150980
> FOREIGN KEY(ENTITY_ID)
> REFERENCES IS3.ENTITIES_PUB(ENTITY_ID)
> ON DELETE NO ACTION
> ON UPDATE NO ACTION
> GO
Received on Thu Sep 29 2005 - 19:15:48 CEST
