Search Results

Search found 18245 results on 730 pages for 'recursive query'.

Page 27/730 | < Previous Page | 23 24 25 26 27 28 29 30 31 32 33 34  | Next Page >

  • Mysql on duplicate key update + sub query

    - by jwzk
    Using the answer from this question: http://stackoverflow.com/questions/662877/need-mysql-insert-select-query-for-tables-with-millions-of-records new_table * date * record_id (pk) * data_field INSERT INTO new_table (date,record_id,data_field) SELECT date, record_id, data_field FROM old_table ON DUPLICATE KEY UPDATE date=old_table.data, data_field=old_table.data_field; I need this to work with a group by and join.. so to edit: INSERT INTO new_table (date,record_id,data_field,value) SELECT date, record_id, data_field, SUM(other_table.value) as value FROM old_table JOIN other_table USING(record_id) ON DUPLICATE KEY UPDATE date=old_table.data, data_field=old_table.data_field, value = value; I can't seem to get the value updated. If I specify old_table.value I get a not defined in field list error.

    Read the article

  • Mysql query help needed

    - by Me-and-Coding
    Hi, i have two tables category and hotels where category.id should be equal to hotels.catid. Now how do i select 3 rows from each different category from the hotels table. I have this query: select h.* from hotels h inner join category c on h.catid = c.id order by h.catid, h.hid this selects all records, but i want to select three rows per different category so in all it should return 9 rows with 3 rows for each category. If this can not be done in mysql, you could also suggest php code please. Thanks

    Read the article

  • I need to simplify a MySQL sub query for performance - please help

    - by Richard
    I have the following query which is takin 3 seconds on a table of 1500 rows, does someone know how to simplify it? SELECT dealers.name, dealers.companyName, dealer_accounts.balance FROM dealers INNER JOIN dealer_accounts ON dealers.id = dealer_accounts.dealer_id WHERE dealer_accounts.id = ( SELECT id FROM dealer_accounts WHERE dealer_accounts.dealer_id = dealers.id AND dealer_accounts.date < '2010-03-30' ORDER BY dealer_accounts.date DESC, dealer_accounts.id DESC LIMIT 1 ) ORDER BY dealers.name I need the latest dealer_accounts record for each dealer by a certain date with the join on the dealer_id field on the dealer_accounts table. This really should be simple, I don't know why I am struggling to find something.

    Read the article

  • Query executes with no error but not in trigger

    - by liaqat ali
    I am facing a strange problem in creating trigger in MS SQL. I have a query that executes with out an error but when I place it within trigger body, it gives error Invalid column name 'ScreenName'. I am placing whole trigger code here. Please trace the issue. CREATE TRIGGER [dbo].[tr_tbFieldLabels_FieldLabelLength] ON [dbo].[tbFieldLabels] AFTER INSERT AS Update tbFieldLabels Set TextBoxLength = (SELECT top 1 TextboxLength FROM tbFieldLabelsSource FLS WHERE FLS.ScreenName = Inserted.ScreenName AND tbFieldLabelsSource.SystemName = Inserted.SystemName) FROM tbFieldLabels , Inserted WHERE tbFieldLabels.ID = Inserted.ID GO Please help me ASAP.

    Read the article

  • Query to sum duplicated fields

    - by g0sha
    Here is mysql data id usr good quant delayed cart_ts ------------------------------------------------------ 14 4 1 1 0 20100601235348 13 4 11 1 0 20100601235345 12 4 4 1 0 20100601235335 11 4 1 1 0 20100601235051 10 4 11 1 0 20100601235051 9 4 4 1 0 20100601235051 15 4 2 1 0 20100601235350 16 4 7 1 0 20100602000537 17 4 3 1 0 20100602000610 18 4 3 1 0 20100602000616 19 4 8 1 0 20100602000802 20 4 8 1 0 20100602000806 21 4 8 1 0 20100602000828 22 4 8 1 0 20100602000828 23 4 8 1 0 20100602000828 24 4 8 1 0 20100602000828 25 4 8 1 0 20100602000828 26 4 8 1 0 20100602000829 27 4 8 1 0 20100602000829 28 4 9 1 0 20100602001045 29 4 10 1 0 20100602001046 I need to group fields in witch usr & good has duplicated values with summing quant field for getting smth like this: id usr good quant delayed cart_ts ------------------------------------------------------ 14 4 1 2 0 20100601235348 13 4 11 2 0 20100601235345 12 4 4 2 0 20100601235335 15 4 2 1 0 20100601235350 16 4 7 1 0 20100602000537 17 4 3 2 0 20100602000610 19 4 8 9 0 20100602000802 28 4 9 1 0 20100602001045 29 4 10 1 0 20100602001046 Which MySQL query I need to do to have this effect?

    Read the article

  • Very difficult SQL query

    - by db666
    For the following table definitions: Name Null? Type Comments ------------------------------- -------- ---- ------------------------------------ ENUM NOT NULL NUMBER(4) ENUM should not exceed a length of 4. ENAME CHAR(15) ADDRESS CHAR(25) ADDRESS should not exceed 25 characters. SALARY NUMBER(5) OFFICE CHAR(4) DNUM NOT NULL NUMBER(4) Department which this employee belongs to department Name Null? Type Comments ------------------------------- -------- ---- ------------------------------------- DNUM NOT NULL NUMBER(4) DMGR NOT NULL NUMBER(4) Department manager DNAME NOT NULL CHAR(15) project Name Null? Type Comments ------------------------------- -------- ---- ------------------------------------- PNUM NOT NULL NUMBER(4) PMGR NOT NULL NUMBER(4) Project manager PTITLE NOT NULL CHAR(15) emp_proj Name Null? Type ------------------------------- -------- ---- PNUM NOT NULL NUMBER(4) ENUM NOT NULL NUMBER(4) I have to write SQL query which will find the names of employees who do not share an office but work on the same project, and have different salaries... I've spent last three days trying to figure out something, but no idea as far. I will appreciate any advice.

    Read the article

  • Oracle SQL outer join query puzzle

    - by user1651446
    So I am dumb and I have this: select whatever from bank_accs b1, bank_accs b2, table3 t3 where t3.bank_acc_id = t1.bank_acc_id and b2.bank_acc_number = b1.bank_acc_number and b2.currency_code(+) = t3.buy_currency and trunc(sysdate) between nvl(b2.start_date, trunc(sysdate)) and nvl(b2.end_date, trunc(sysdate)); My problem is with the date (actuality) check on b2. Now, I need to return a row for each t3xb1 (t3 = ~10 tables joined, of course), even if there are ONLY INVALID records (date-wise) in b2. How do I outer-join this bit properly? Can't use ANSI joins, must do in a single flat query. Thanks.

    Read the article

  • Query to find duplicate item in 2 table

    - by Rico
    I have this table Antecedent Consequent I1 I2 I1 I1,I2,I3 I1 I4,I1,I3,I4 I1,I2 I1 I1,I2 I1,I4 I1,I2 I1,I3 I1,I4 I3,I2 I1,I2,I3 I1,I4 I1,I3,I4 I4 AS you can see it's pretty messed up. is there anyway i can remove rows if item in consequent exist in antecedent (in 1 row) for example: INPUT: Antecedent Consequent I1 I2 I1 I1,I2,I3 <---- DELETE since I1 exist in antecedent I1 I4,I1,I3,I4 <---- DELETE since I1 exist in antecedent I1,I2 I1 <---- DELETE since I1 exist in antecedent I1,I2 I1,I4 <---- DELETE since I1 exist in antecedent I1,I2 I1,I3 <---- DELETE since I1 exist in antecedent I1,I4 I3,I2 I1,I2,I3 I1,I4 <---- DELETE since I1 exist in antecedent I1,I3,I4 I4 <---- DELETE since I4 exist in antecedent OUTPUT: Antecedent Consequent I1 I2 I1,I4 I3,I2 is there anyway i can do that by query?

    Read the article

  • MSSQL Sum query

    - by ldb
    today my problem is this i have 2 column and i wish check if the sum of that columns isn't Higher then a value(485 for example) and if is do a query...i though to do SELECT * FROM table WHERE ColumnA+ColumnB<485 But isn't working... i've already tried with SELECT Sum(ColumnA)+Sum(ColumnB) AS Total FROM table but it gives me 1 column with the sum of all rows, i instead want a row for every sum. so how can i do..? xD i hope you understood if not just ask that i try to explain it better! and thanks in advice for who want to help me! EDIT: I Found out XD the problem was that the columns was Smallint and the result of 1 or more rows was more than 32k so it wasn't working! Thanks At all!!

    Read the article

  • Get smallest date for each element in access query

    - by skerit
    So I have a table containing different elements and dates. It basically looks like this: actieElement beginDatum 1 1/01/2010 1 1/01/2010 1 10/01/2010 2 1/02/2010 2 3/02/2010 What I now need is the smallest date for every actieElement. I've found a solution using a simple GROUP BY statement, but that way the query loses its scope and you can't change anything anymore. Without the GROUP BY statement I get multiple dates for every actieElement because certain dates are the same. I thought of something like this, but it also does not work as it would give the subquery more then 1 record: SELECT s1.actieElement, s1.begindatum FROM tblActieElementLink AS s1 WHERE (((s1.actieElement)=(SELECT TOP 1 (s2.actieElement) FROM tblActieElementLink s2 WHERE s1.actieElement = s2.actieElement ORDER BY s2.begindatum ASC)));

    Read the article

  • getting rid of repeated customer id's in mysql query

    - by bsandrabr
    I originally started by selecting customers from a group of customers and then for each customer querying the records for the past few days and presenting them in a table row. All working fine but I think I might have got too ambitious as I tried to pull in all the records at once having heard that mutiple queries are a big no no. here is the mysqlquery i came up with to pull in all the records at once SELECT morning, afternoon, date, date2, fname, lname, customers.customerid FROM customers LEFT OUTER JOIN attend ON ( customers.customerid = attend.customerid ) RIGHT OUTER JOIN noattend ON ( noattend.date2 = attend.date ) WHERE noattend.date2 BETWEEN '$date2' AND '$date3' AND DayOfWeek( date2 ) %7 >1 AND group ={$_GET['group']} ORDER BY lname ASC , fname ASC , date2 DESC tables are customer-customerid,fname,lname attend-customerid,morning,afternoon,date noattend-date2 (a table of all the days to fill in the blanks) Now the problem I have is how to start a new row in the table when the customer id changes My query above pulls in customer 1 morning 2 customer 1 morning 1 customer 2 morning 2 customer 2 morning 1 whereas I'm trying to get customer1 morning2 morning1 customer2 morning2 morning1 I dont know whether this is possible in the sql or more likely in the php

    Read the article

  • How can I use an array within a SQL query

    - by ThinkingInBits
    So I'm trying to take a search string (could be any number of words) and turn each value into a list to use in the following IN statement) in addition, I need a count of all these values to use with my having count filter $search_array = explode(" ",$this->search_string); $tag_count = count($search_array); $db = Connect::connect(); $query = "select p.id from photographs p left join photograph_tags c on p.id = c.photograph_id and c.value IN ($search_array) group by p.id having count(c.value) >= $tag_count"; This currently returns no results, any ideas?

    Read the article

  • Query - Trying to SUM one field based on content of another field

    - by ShaneL
    Table: DayOfWeek Enrollments Monday 35 Monday 12 Saturday 25 Tuesday 15 Monday 9 Tuesday 15 Basically I'm trying to sum the total enrolments for each day. so the Output will look like: DayOfWeek Enrollments Monday 56 Saturday 25 Tuesday 30 I've spent around 4 hours trying to work this out trying many many different ways but no luck. The problem I'm having is i can count how many enrollments for each day but can't have it aligned with the correct day when i run the query e.g. I want The total to be on the same line as the day it was calculated from. (I hope that is clear enough)

    Read the article

  • CASE + IF MysQL query

    - by terence6
    Problem is as follows. I have a product that can be in one of three categories (defined by category_id). Each category table has category_id field related to category_id in product table. So I have 3 cases. I'm checking If my product.category_id is in table one. If yes, I take some values. If not I check in tables that are left. What can I write In the ELSE section? Can anyone correct my query ? CASE WHEN IF EXISTS(SELECT * FROM table1 WHERE category_id='category_id') THEN SELECT type_id FROM table1 WHERE category_id='category_id'; WHEN IF EXISTS(SELECT * FROM table2 WHERE category_id='category_id') THEN SELECT value_id FROM table2 WHERE category_id='category_id'; WHEN IF EXISTS(SELECT * FROM table3 WHERE category_id='category_id') THEN SELECT group_id FROM table3 WHERE category_id='category_id'; ELSE "dont know what here"; END;

    Read the article

  • Help constructing query - Compare columns and replace numbers

    - by Tommy
    I have a feeling that this query is pretty easy to construct, I just can't figure it out. I want to replace all numbers in table X column C, with numbers in table Z column A, where numbers from table X column C matches numbers in table Z column B. I hope that makes sense. Perhaps a little background information will make it clearer. I've converted from one CMS to another, and the module I used to convert mapped the ids to the new database. Table X column A is the new id's. Table X column B is the old id's. Table Z is the table for an image gallery that I migrated, and column C contains the id's of the images owners. Can anyone crack this nut?

    Read the article

  • SQL query help - merge a value to all rows in a column

    - by Tommy
    I'm trying to migrate a site from a joomla system to a drupal. The problem is that drupal needs filename and sourcepath in the same row, but joomla only has filename. I'm looking for a way to add sourcepath before the filename in all the rows in that column. I'm figuring it's the UPDATE statement that I should use, but I can't figure out how to construct the query. There's a person with a similar problem here, but I don't find the answers in that thread helpful to my problem: http://www.daniweb.com/forums/showth...t+value&page=2 Any suggestions?

    Read the article

  • Sql-server Database query help

    - by menacheb
    Hi, I have a problem that I didn't manage to solve for a very long time, and I quite desperate. I have a Database (SQL Server) with table named 'ProcessData' and columns named 'Process_Name' (Data Type: nvarchar(50)), 'Start_At' (DataType: DateTime) and 'End_At' (Data Type: DateTime). I need to know for each 'Time-Interval' (let's say 1 minute) how many processes (Process_Name = PN) was open (after or equal to the 'Start_at' column and before or equal to the 'End_At' column) during this time (It can be a few rows with the same data). Does anyone know how to make this query without a 'for' loop? (It ITSELF will promote the time), (The answer will be a table with two columns (1. The time the check took place. 2. the number of open processes at this time.) and a row for each 'Time-Interval' (1 minute in this example ) Many thanks,

    Read the article

  • MySQL query problem

    - by SaltLake
    I've got MySQL table CREATE TABLE stat ( ID int NOT NULL auto_increment PRIMARY KEY, TIMESTAMP_X timestamp DEFAULT CURRENT_TIMESTAMP, # ... some other fields ... ) which contains statistics about site visitors. For getting visits per hour I use SELECT hour(TIMESTAMP_X) as HOUR , count(*) AS HOUR_STAT FROM cms_webstat GROUP BY HOUR ORDER BY HOUR DESC which gives me | HOUR | HOUR_STAT | | 24 | 15 | | 23 | 12 | | 22 | 9 | | 20 | 3 | | 18 | 2 | | 15 | 1 | | 12 | 3 | | 9 | 1 | | 3 | 5 | | 2 | 7 | | 1 | 9 | | 0 | 12 | And I'd like to get following: | HOUR | HOUR_STAT | | 24 | 15 | | 23 | 12 | | 22 | 9 | | 21 | 0 | | 20 | 3 | | 19 | 0 | | 18 | 2 | | 17 | 0 | | 16 | 0 | | 15 | 1 | | 14 | 0 | | 13 | 0 | | 12 | 3 | | 11 | 0 | | 10 | 0 | | 9 | 1 | | 8 | 0 | | 7 | 0 | | 6 | 0 | | 5 | 0 | | 4 | 0 | | 3 | 5 | | 2 | 7 | | 1 | 9 | | 0 | 12 | How should I modify the query to get such result? Thanks.

    Read the article

  • Need help with some complex SQL query

    - by Psyche
    Hello guys, I need some help with a complex SQL query. Here's my setup: there are two tables, one with authors, and another with books. The books table contains a field named "author" which holds author's id. If a book has more than one author, then the "author" field will contain all the authors ids separated by ";" (something like 2;34;234). On the website I have to list all the books written by an author. If there's only one author, its simple, but how can I get those books where the author I'm interested in is the second or third author? Many thanks.

    Read the article

  • sql query is too slow, how to improve speed

    - by user1289282
    I have run into a bottleneck when trying to update one of my tables. The player table has, among other things, id, skill, school, weight. What I am trying to do is: SELECT id, skill FROM player WHERE player.school = (current school of 4500) AND player.weight = (current weight of 14) to find the highest skill of all players returned from the query UPDATE player SET starter = 'TRUE' WHERE id = (highest skill) move to next weight and repeat when all weights have been completed move to next school and start over all schools completed, done I have this code implemented and it works, but I have approximately 4500 schools totaling 172000 players and the way I have it now, it would take probably a half hour or more to complete (did not wait it out), which is way too slow. How to speed this up? Short of reducing the scale of the system, I am willing to do anything that gets the intended result. Thanks! *the weights are the standard folk style wrestling weights ie, 103, 113, 120, 126, 132, 138, 145, 152, 160, 170, 182, 195, 220, 285 pounds

    Read the article

  • Django query - join on the same table

    - by dana
    i have a mini blog app, and a 'timeline' . there i want to be displayed all the posts from all the friends of a user, plus the posts of that user himself. For that, i have to make some kind of a 'join' between the results of two queries (queries on the same table) , so that the final result will be the combination of the user - posesor of the account, and all his friends. My query looks like this: blog = New.objects.filter(created_by = following,created_by = request.user) By that ',' i wanted to make a 'join' -i found something like this on a doc- but this method is not correct- i'm getting an error. How else could be done this 'join' ? Thanks!

    Read the article

  • Counting multiple rows in MySQL in one query

    - by diggersworld
    I currently have a table which stores a load of statistics such as views, downloads, purchases etc. for a multiple number of items. To get a single operation count on each item I can use the following query: SELECT , COUNT() FROM stats WHERE operation = 'view' GROUP BY item_id This gives me all the items and a count of their views. I can then change 'view' to 'purchase' or 'download' for the other variables. However this means three separate calls to the database. Is it possible to get all three in one go?

    Read the article

  • Update query (access & vb.net)

    - by yae
    Hi: I have to update some fields of a table of access according to the value of parameter. If this paramter is "true" I need to update. Table idInvoice price percentageTax1 tax1 percentageTax2 tax2 total Example values: idinvoice: 12300 price: 100 € percentageTax1: 10 % tax1= 10€ percentageTax2: 5 % tax2: 5€ total: 115 € (result: 100€+10€+5€) Ok. If the parameter on that I have commented before is "true" I must update the percentages and then update the total. I need to replace the "old" percentages by new percent. Ok I can do it in 3 queries: update invocies set percentageTax1=20,tax1=price *(percentageTax1/100) where idInvoice=@number and percentageTax1=10 update invocies set percentageTax2=7,tax2=price *(percentageTax2/100) where idInvoice=@number and percentageTax2=5 update invocies set total=price+tax1+tax2 where idInvoice=@number . But my question is: is there any an alternative to do this in 1 query?

    Read the article

  • [SQL][MS access] Query to find duplicate item in 2 table

    - by Rico
    I have this table Antecedent Consequent I1 I2 I1 I1,I2,I3 I1 I4,I1,I3,I4 I1,I2 I1 I1,I2 I1,I4 I1,I2 I1,I3 I1,I4 I3,I2 I1,I2,I3 I1,I4 I1,I3,I4 I4 AS you can see it's pretty messed up. is there anyway i can remove rows if item in consequent exist in antecedent (in 1 row) for example: INPUT: Antecedent Consequent I1 I2 I1 I1,I2,I3 <---- DELETE since I1 exist in antecedent I1 I4,I1,I3,I4 <---- DELETE since I1 exist in antecedent I1,I2 I1 <---- DELETE since I1 exist in antecedent I1,I2 I1,I4 <---- DELETE since I1 exist in antecedent I1,I2 I1,I3 <---- DELETE since I1 exist in antecedent I1,I4 I3,I2 <---- DELETE since I2 exist in antecedent I1,I2,I3 I1,I4 I1,I3,I4 I4 <---- DELETE since I4 exist in antecedent OUTPUT: Antecedent Consequent I1 I2 I1,I2,I3 I1,I4 is there anyway i can do that by query?

    Read the article

  • SQL SERVER – Subquery or Join – Various Options – SQL Server Engine knows the Best

    - by pinaldave
    This is followup post of my earlier article SQL SERVER – Convert IN to EXISTS – Performance Talk, after reading all the comments I have received I felt that I could write more on the same subject to clear few things out. First let us run following four queries, all of them are giving exactly same resultset. USE AdventureWorks GO -- use of = SELECT * FROM HumanResources.Employee E WHERE E.EmployeeID = ( SELECT EA.EmployeeID FROM HumanResources.EmployeeAddress EA WHERE EA.EmployeeID = E.EmployeeID) GO -- use of in SELECT * FROM HumanResources.Employee E WHERE E.EmployeeID IN ( SELECT EA.EmployeeID FROM HumanResources.EmployeeAddress EA WHERE EA.EmployeeID = E.EmployeeID) GO -- use of exists SELECT * FROM HumanResources.Employee E WHERE EXISTS ( SELECT EA.EmployeeID FROM HumanResources.EmployeeAddress EA WHERE EA.EmployeeID = E.EmployeeID) GO -- Use of Join SELECT * FROM HumanResources.Employee E INNER JOIN HumanResources.EmployeeAddress EA ON E.EmployeeID = EA.EmployeeID GO Let us compare the execution plan of the queries listed above. Click on image to see larger image. It is quite clear from the execution plan that in case of IN, EXISTS and JOIN SQL Server Engines is smart enough to figure out what is the best optimal plan of Merge Join for the same query and execute the same. However, in the case of use of Equal (=) Operator, SQL Server is forced to use Nested Loop and test each result of the inner query and compare to outer query, leading to cut the performance. Please note that here I no mean suggesting that Nested Loop is bad or Merge Join is better. This can very well vary on your machine and amount of resources available on your computer. When I see Equal (=) operator used in query like above, I usually recommend to see if user can use IN or EXISTS or JOIN. As I said, this can very much vary on different system. What is your take in above query? I believe SQL Server Engines is usually pretty smart to figure out what is ideal execution plan and use it. Reference: Pinal Dave (http://blog.SQLAuthority.com) Filed under: Pinal Dave, SQL, SQL Authority, SQL Joins, SQL Optimization, SQL Performance, SQL Query, SQL Scripts, SQL Server, SQL Tips and Tricks, T SQL, Technology

    Read the article

< Previous Page | 23 24 25 26 27 28 29 30 31 32 33 34  | Next Page >