Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Data Bases > Microsoft SQL Server > Re: Selecting s...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 3 of 5 Topic 11024 of 11517
Post > Topic >>

Re: Selecting several types

by --CELKO-- <jcelko212@[EMAIL PROTECTED] > May 7, 2008 at 01:05 PM

>> So I have these tables of items and item-types, and the items can be of
several types: <<

Please post DDL, so that people do not have to guess what the keys,
constraints, Declarative Referential Integrity, data types, etc. in
your schema are. If you know how, follow ISO-11179 data element naming
conventions and formatting rules.  Sample data is also a good idea,
along with clear specifications.  It is very hard to debug code when
you do not let us see it. If you want to learn how to ask a question
on a Newsgroup, look at:
http://www.catb.org/~esr/faqs/smart-questions.html

Here is a guess at what you meant to post:

CREATE TABLE Inventory -- collective noun for a set name
(item_id CHAR(15) NOT NULL PRIMARY KEY, --let's use GTIN
 item_name VARCHAR(20) NOT NULL);

CREATE TABLE ItemTypes -- needs a better name; blood type? tarriff
type?
(item_type INTEGER NOT NULL PRIMARY KEY,
 item_type_description VARCHAR(50) NOT NULL);

You do know that there is no such thing as a "type_id" -- an attribute
can be one or the other but not both.

>> Now, to link these two tables I have a "linking" table: <<

That is a term from CODASYL databases; we have relations in SQL.  They
usually have a proper name, like "Marriages" or "JobAssignments",
etc.  I will make a guess at what you meant and add minimal DRI.

CREATE TABLE ItemClassifications
(item_id CHAR(15) NOT NULL
   REFERENCES Inventory (item_id)
   ON DELETE CASCADE
   ON UPDATE CASCADE,
 item_type INTEGER NOT NULL
   REFERENCES ItemTypes(item_type)
   ON UPDATE CASCADE,
 PRIMARY KEY (item_id, item_type));

>> Now I want to select all the items of type 100 or 200...<<

 SELECT DISTINCT item_id
   FROM Inventory
  WHERE item_type IN (100, 200);

You need to Google "Relational Division" for more genral solutions to
this kind of query.
 




 5 Posts in Topic:
Selecting several types
Danny <adler.danny@[EM  2008-05-07 06:00:30 
Re: Selecting several types
"Plamen Ratchev"  2008-05-07 10:17:20 
Re: Selecting several types
--CELKO-- <jcelko212@[  2008-05-07 13:05:28 
Re: Selecting several types
Ed Murphy <emurphy42@[  2008-05-07 20:32:57 
Re: Selecting several types
Erland Sommarskog <esq  2008-05-07 21:46:29 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Wed Dec 3 1:06:29 CST 2008.