Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
In my database I have 3 tables, one for customers, one for orders and one for products. A customer can have any number of orders and an order can have any number of products. How can I implement this relationship between the 3 tables?
Information stored in the database:
Customer: social security number, name, address, phone number
Order: order number, date
Product: product id, category, price
Ok Here's where to start.
First you need an ID for each table (an ID is a unique identifier, so that if i say want customer X, there won't be 2 customer X in the table)
For customer u can use social security number (or you create a column called CUSTOMER_ID)
A customer can have any number of orders, So you should put a column in order to know this order belongs to which customer. So in order you add a column called CUSTOMER_ID that references CUSTOMER_ID in the table CUSTOMER
so these 2 orders belong to CUSTOMER with CUSTOMER_ID = 1:
ORDER_NUMBER DATE CUSTOMER_ID
1 1/1/2013 1
2 2/1/2013 1
CUSTOMER_ID in ORDERS is called a FOREIGN KEY
The same goes for the rest.
(PS : change the name of the table ORDER, ORDER is a keyword used in SQL, to order the items SELECT .... FROM TABLE1 ORDER BY ....)
Related
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 2 years ago.
Improve this question
I have a table in my app
CREATE TABLE VisitDetails (VisitId INTEGER, UserId TEXT, VisitNumber
TEXT, JobId INTEGER, JobNumber TEXT, StatusId INTEGER, Status TEXT,
SignatureRequired BOOL, StatusDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
,StartDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP, EndDate TIMESTAMP
DEFAULT CURRENT_TIMESTAMP, IsPPMJob BOOL)
and it was working fine but now I need to alter this table to make already existing column 'VisitId' to become the primary key. Can somebody help me please? It might work by adding Unique constraint to VisitId column of the table but I am trying to put some efficient solution !
You can't change SQLite tables field's primary key once the table is created,
Possible solution is,
Create new table with desired primary key
Copy all data
Drop old table
Here is the documentation link : https://www.sqlite.org/omitted.html
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I have a database table with these columns:
Banner_Title varchar(500)
Existing_Banner_Image varchar(500)
Banner_URL varchar(500)
Banner_ALT varchar(500)
CheckBoxText varchar(500)
[for these 3 checkboxes have taken chkArticles,chkFittness,chkHealthArticle
but I want to check checkboxes also while insertion of data.For that I added one extra column in datatable named as sectionId for chkArticle checkbox I will assign 10 as a sectionId ,for chkFittness sectionId 11 and for chkHealthArticle as 12 so when I insert banner_title='article1', click chkArticle checkbox and fill other field data as mentioned in table format from then data should insert but next time when I try banner_title='article1' and click same checkbox then data not allowed to insert.but when I give banner_name='article1' and click another checkbox chkFittness it should allowed though the name of banner is same but maintained sectionid for checkboxes is different then what changes need to do stored procedure?? Basically I want to maintained unique banner_title for each checkbox click and to differentiate I maintained sectionid.plz help me
Create Unique constraint:
USE YourDatebase;
GO
ALTER TABLE YourTable
ADD CONSTRAINT YourConstraintName UNIQUE (Banner_Title);
GO
Check if banner title exists before insert attempt:
IF NOT EXISTS(SELECT Banner_Title FROM YourTable WHERE Banner_Title =
'TitleYourAreAttemptingToInsert')
BEGIN
INSERT .....
END
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I have a little confusing scenario here.I have got 2 tables.One table stores the new users who have registered(tblAllUsers) and another one stores the new events created(tblAllEvents).Now i want to display the combination of both tables in a gridview ORDER BY Registration datetime such that:
if the latest value comes in from tblAllUsers,it should show
"Michael just registered on the website" where Michael is the firstname of the user in tblallusers
and if value comes in from tblAllEvents,it should show
"Piano Exhibition was created by User34" where Piano Exhibition is the EventName in tblAllEvents
By far I've tried to create a union of two tables like :
Select FirstName,RegDateTime from tblAllUsers
UNION ALL
Select EventName,RegDateTime from tblAllEvents
ORDER BY RegDateTime DESC
but the above gives out FirstName and Title under column FirstName and will be hard to distinguish.
How do i design my gridview template for this?
Thanks in advance.
You could change your query like this:
SELECT FirstName, NULL AS EventName, RegDateTime
FROM tblAllUsers
UNION ALL
SELECT NULL, EventName, RegDateTime
FROM tblAllEvents
ORDER BY RegDateTime DESC
So now you have three columns and FirstName or EventName is filled depending on which table it comes from.
In your GridView you can test which value is empty (EventName or FirstName) and change the text accordingly.
EDIT:
You could even return only the first row (with the latest RegDateTime):
SELECT TOP 1 *
FROM (SELECT FirstName, NULL AS EventName, RegDateTime
FROM tblAllUsers
UNION ALL
SELECT NULL, EventName, RegDateTime
FROM tblAllEvents) AS a
ORDER BY RegDateTime DESC
You can optionally add an event type column and use it to check how to handle it on the grid view
Select 'User' as EventType, FirstName,RegDateTime from tblAllUsers
UNION ALL
Select 'Event' as EventType, EventName,RegDateTime from tblAllEvents
ORDER BY RegDateTime DESC
You might need to add the user name as well in the 'Event' since you also show the name of the user who created the event
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I want to manage sales, there was many to many relationship between sale and product, so i broke it by adding an entity sales description among them now the relationship among these three entities is as follows.
"Sales descrition" entity have composite primary key consisting upon customerId, customerName,date,time attribute which should go as foreign key in "Product" table. Now i am confused that whenever i will add product i will have to add customerId,customerName,date,time which does not seems logically true.
Any idea please that how should i handle relationship between sale and product?
I would organize this by storing customer data in a customers table. Then the sale table uses the customerid from the customers table as a foreign key. The sale table should have its own primary key. That saleid key becomes a foreign key in the sales description table. The product is linked by including the productid in the sales description table as a foreign key. So your tables would look something like this:
Customer table
- customerid
- customer name
- customer address
Sale table
- saleid
- customerid (foreign key)
- datetime
Product table
- productid
- product name
- product price
Sale description table
- saleid (foreign key)
- productid (foreign key)
- quantity
It should be the other way around. The product id should be a foreign key in the Sales Description table. The Sales Description is the relationship between Sale and a Product. The customer id belong in the Sale table and should probably be a foreign key to a customer table. This way a single customer may have many sales and each sale may have many products. I Assume here that Sale == Order.
Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 7 years ago.
Improve this question
Get the last record from a Microsoft SQL database table using ASP.net (VB) onto a web form.
I'm assuming he's trying to retrieve the last inserted record. As Ariel pointed out, the question is rather ambiguous.
SELECT TOP 1 * FROM Table ORDER BY ID DESC
If you have an identity column called ID, this is easiest. If you don't have an identity PK column for example a GUID you wont be able to do this.
Here is a basic solution:
var order = (from i in db.orders
where i.costumer_id.ToString() == Session["costumer_id"]
orderby i.order_id descending
select i).Take(1).SingleOrDefault();
You need to be more specific with actually putting it onto a web form, but the SQL to get the last record is:
SELECT *
FROM TABLE_NAME
WHERE ID = (SELECT MAX(ID) FROM TABLE_NAME)
Where ID is your ID and TABLE_NAME is your table name.