|
Member 7723899 wrote: I didn't want to do anything before I screw up the entire database
then make a backup first.
or at least copy the relevant table to a new one.
if you have PHPmyAdmin, both actions would be very easy.
Member 7723899 wrote: make every row just "MAKE ®"
a single update could remove every trailing ® in all rows that have one
then a single update could remove every trailing space in all rows that have one
then a single update could append whatever you want in all rows
BTW: I see no use of a suffix " ®" that would be present in every row, it does not add information, it just makes things more difficult IMO. And if you want it to appear on some forms, then that is a presentation issue, something a database should not be involved in.
Note: we have a separate MySQL forum!
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.
|
|
|
|
|
I found it out.
Simple enough.. I was just only wondering WHERE I should make the SQL code.
I'm using SQL Manager Lite for MySQL and you just have to go to the database table, click the DLL tab, edit, delete all the code and write whatever you want and execute.
UPDATE tablename SET columnname = 'whatever' WHERE columname = 'asdf' OR columname = 'asdf ®'
|
|
|
|
|
Member 7723899 wrote: I've tried SELECT DISTINCT but that just takes away the repeated makes, I need to change all the makes to follow the same format
The steps are
1. Determine what values are in there
2. Determine what values should be in there.
3. Create an algorithmic solution that will convert an incorrect value to a correct one. This is based on steps 1 and 2.
4. Implement 3 in SQL.
5. Run 4.
Your description sounds like you have not completed steps 1 and 2 in the above and are attempting to jump directly to step 4.
Additionally.
1. Determine if you want to prevent future incorrect values
2. If yes then add a constraint that prevents incorrect values.
Based on your description you would do this by creating an enumeration table which is nothing but a table of correct names. Then you use a foreign key from the existing table to the enumeration table.
|
|
|
|
|
No, no, no...
The steps are
0) Put your left foot in
1) Take your left foot out
2) Put your left foot in
3) Shake it all about
4) Do the hokey pokey
|
|
|
|
|
Greetings,
I've been having an issue on one of our servers here where we could not connect to the SQL database hosted on the same machine over named pipes from a web application. We could, however, connect from enterprise manager using the same credentials. Shutting the firewall off didn't help, nor did any tweak we made to the sql server configuration. While biting my lip in despair, I happened to notice that the system time was off by three years. I figured I'd fix it while I was trying to figure out what to do with SQL. Once I fixed it though, SQL authentication started working again.
Now, while I'm totally stoked that I was able to fix the problem, I don't understand WHY that fixed the problem, and I do try to avoid cargo-cult style system repairs. Can anybody explain this to me?
Thanks,
Will
|
|
|
|
|
I'm not familiar enough with SQL syntax, and I need to make a little complicated SELECT.
I have a table with 3 fields: contentID, date and readsCounter.
I have to get the top 2 read contents for the last 2 days.
For example:
contentID: 0, date: 1-1-2000, readsCounter: 10
contentID: 0, date: 2-1-2000, readsCounter: 80
contentID: 1, date: 1-1-2000, readsCounter: 40
contentID: 1, date: 2-1-2000, readsCounter: 5
contentID: 2, date: 1-1-2000, readsCounter: 20
contentID: 2, date: 2-1-2000, readsCounter: 30
the lines above are 6 records from my db, contents 0 and 2 are the contents that need to be selected(the contents and the reads sum for the last 2 days).
I'm working with MSACCESS DB. someone can help me?
|
|
|
|
|
The dates are from 10 years ago, so how would they be considered for the last 2 days.
Chris Meech
I am Canadian. [heard in a local bar]
In theory there is no difference between theory and practice. In practice there is. [Yogi Berra]
posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]
|
|
|
|
|
|
Use a combination of Row_Number and Partition. You need to create a 2 query select, the first injects the row_number based on the partition of contentid and date, ordered by readscounter.
The outer query selects anything with a row_number < 3.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
can you add an example code for what you have suggested? I'm afraid I don't completely understand how to implement this.
|
|
|
|
|
Then I found a simpler way when I actually worked the query.
SELECT TOP 2
contentID,
RC
FROM
(SELECT
contentID,
SUM(readsCounter) RC
FROM
Book1 AS B
--WHERE ReadDate BETWEEN this AND that
GROUP BY
contentID) D
ORDER BY RC desc
Note the where clause will be required when the data set is larger
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
We're building a new system (consisting of multiple applications) from scratch and use Oracle as a database.
The problem is that we don't know how big it will grow and what new decisions (from managers) we will have to go through in the future.
My opinion is that we just use one schema to start out with and see where we get from there. My colleague (coming from SQL-Server background) opted the idea to use multiple schemas. One for each different application in the system plus a config and common (=for all applications) schema. His main reason being security.
(But what if a table that starts belonging to one application later needs to be shared among applications?)
Another option would be to seperate tablespaces, but use the same schema.
I'm not sure what the best design is (and I'm no Oracle expert either). We don't know were we'll go with this system, it might grow internationally, it might die next year. My experience tells me that you should design very well, but without overkill.
Do you have experience with designing databases and what is your take on this? (Pro's/Con's). Google does have some examples, but mostly they are when different companies need to access the same database. This is not our case.
Many thanks in advance.
V.
|
|
|
|
|
V. wrote: His main reason being security.
Good reason.
V. wrote: But what if a table that starts belonging to one application later needs to be
shared among applications?)
Then you have to set the access rights accordingly and add the schema to the tablename when accessing it.
Like this: Select * from schemaname.tablename
V. wrote: Another option would be to seperate tablespaces, but use the same
schema.
Thats something completely different. That's a logical storage space[^].
|
|
|
|
|
I'm pretty sure tablespaces have nothing to do with your segregation of data, it is only for logical storage.
We have just run across a real need for additional schemas, we want to move the production data (ETLd from other systems) to the dev server, if the data was in different schemas this would be simple, now we have to reengineer the database schemas to meet that requirement.
Security is another issue so I would go for the additional schemas from the start. As for moving from 1 schema to anoter I believe there are tools to help (Toad) and it is just the price you pay for getting it wrong (or changing requirements).
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
The only place I worked with Oracle we had one big happy database and it was fine. Keep it simple.
|
|
|
|
|
Hi,
Somekind of list of thoughts on this issue:
- security is a good point. Although security can be enforced on many different levels you can use owner permissions for example in packages. This helps to handle common security problems.
- logical design. If you separate the objects to different schemas based on the data they hold, it's easier to understand the database design (and usage) especially in bigger databases.
- backups and other DDL operations. Many of the operations can be done schema based. For example you can export a certain schema so this helps in administrative tasks
- usage in applications. This is two folded, you can either define the schema in applications (like SELECT ... FROM schema.table ) or you can use public synonyms to hide the structure. Public synonyms are bad in situations where you actually need for example a table with the same name twice in the database but otherwise they should simplify the use in the apps.
- isolation. Using different schemas you can isolate different portions of the database more easily (a bit same as the security) but again this can be done in multiple ways.
V. wrote: Another option would be to seperate tablespaces, but use the same schema
This is a totally different issue. Tablespace is used to define the actual storage place for an object regardless of the schema. A simple situation is that you have a table and an index on it. In optimal case they are stored on different disks so they would be stored on different tablespaces even though they both would be defined in the same schema. So tablespace is just a way to define physical storage place without defining the actual file (since tablespace can contain multiple files).
|
|
|
|
|
This is in fact what we did finally. Created schema per application and a common one holding configuration data and parameters etc. For that schema we made public synonyms.
After everything was moved I had to change very little to my prototypes to make them work
thanks for the advice.
V.
|
|
|
|
|
No problem
|
|
|
|
|
Suppose I have one table called Jobs:
CREATE TABLE [Jobs]
(
[JOBID] [int] IDENTITY(1,1) NOT NULL,
[PARTDESC] [nvarchar](64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[OrderPlacedBy] [nvarchar](64) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[SpecialistName] [nvarchar](64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Priority] [int] NOT NULL,
[Symptoms] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[CustomerNotes] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[ShopNotes] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[JobType] [nvarchar](32) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[JobState] [nvarchar](32) COLLATE Latin1_General_CI_AS NULL,
[JobAddedDate] [datetime] NOT NULL,
[JobStartedDate] [datetime] NULL,
[JobFinishedDate] [datetime] NULL,
[JobShippedDate] [datetime] NULL,
[RecievedDate] [datetime] NULL
)
I want to see the specialist name and his jobs IDs horizontally.
ANA 201,502,605,701,774
BEN 102,103,051
JEN 705,401,402,509,409,408
A specialist may have n jobs. Suppose specialist ANA has 10 jobs where BEN has 5 jobs.
In this way I want to show specialist his jobs horizontally where the number of jobs may vary per specialist.
How can I do this in SQL?
tbhattacharjee
|
|
|
|
|
|
There are some excellent articles [^]here on CP (blatant self promotion here)
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Must say that you found an excellent article for this issue !
|
|
|
|
|
|
i am recently new to database designs..i have been working on samples but never designed a sql database...please help with a tutorial or recommend a book so that i can design a database and use linq in c# to access it...by designing a database .simply meaning creating plain tables and manipulating data in it..i have sql server management studio 2008 and have visual studio 2010 ultimate also...please guide towards a simple and easy way to get started..
|
|
|
|
|
You have asked one huge question. Try doing some research.
Heres some Google foo[^] for you
Then try a C# tutoral and a Linq tutorial. You have the word you just need to do the research.
Never underestimate the power of human stupidity
RAH
|
|
|
|