Can I Check The Value Of An Alias(i Think Its Called An Alias) In A Query.
I was wondering can I check the value of an alias(i think its called an alias) in a query.
At the moment I have this but its not working:
MySQL Code:
SELECT * , ( DAYOFYEAR( ToDate ) - DAYOFYEAR( FromDate ) ) AS NumDays
FROM `tbl_courses`
WHERE NumDays < 3 AND NumDays > 2 AND FromDate >= ��-10-17'
ORDER BY FromDate
View Complete Forum Thread with Replies
See Related Forum Messages: Follow the Links Below to View Complete Thread
Can A Query Alias Be Used As A URL Parameter?
Question: Is is possible to use an alias created in a MySQL query as a URL parameter? (I'm not sure if this is a MySQL issue, a PHP issue, both, or neither). My database table uses self-referencing ids to establish hierarchy. In the temporary example below flow is my PK, and both parent and top are self-foreign. .....
Alias Name Not Known
The bug I get is "Unknown column 'debt' in 'where clause'" . Why? SELECT * , ventas.importe_acordado - SUM(cobros.nombre) , ventas.importe_acordado as nombre_venta FROM ventas INNER JOIN cobros ON cobros.venta = ventas.id WHERE debt > 0 GROUP BY ventas.id
Alias Error
error: Not unique table/alias: 'u' sql: DELETE u.*,i.*,p.* FROM onig_users u, onig_users_info i, onig_users_profile p WHERE u.users_id=i.users_id AND i.users_id=p.users_id AND u.users_id = 23 i use this same syntax for a different design and had two tables instead of three and it works so I'm confused. Is there something different I should be doing for three tables?
Database Alias
Is it possible to create a database alias? I would like to have something like a symlink to another database. Let's say we have database "gurg" and this one should also be accessible through the name "garg". Is there a way to achieve this?
Dynamic Alias
I'm trying to output the previous 12 months and have the month name as the column heading. It doesnt want to let me use a function as the alias. CODESELECT Department, SUM(case when Month=MONTH((CURDATE() - INTERVAL 11 MONTH)) then Total else '0' end) AS DATE_FORMAT((CURDATE() - INTERVAL 11 MONTH), '%M-%Y'),
SELECT Alias
Is it possible to use an alias in the expression for another alias, for example: SELECT net, tax_rate, net / tax_rate AS tax, net + tax AS gross FROM items But that dosent work, mysql dosent allow an alias in the SELECT statement (says it cant find a field called tax), which is kind of annoying as it means i have to duplicate all my calculations like this: SELECT net, tax_rate, net / tax_rate AS tax, net + (net / tax_rate) AS gross FROM items This might not seem like a big deal in this query, but i have some other far more complicated queries where its just a pain. Is there any way to do this, it seems like it should be possible.
Sum Alias Column
I have a database mysql 5.0.51a-community with bookings. I want to know how many days or weeks has been rented last year compared to this year. The bookings I insert with arrival and departure date in 2 date type columns. I do not know how to do it, they way I see it, I must count the days in every booking then sum the days.This seems a good way to me, but gives me error #1054 - Unknown column 'dias' in 'field list' SELECT arrival, departure TO_DAYS(departure) - TO_DAYS(arrival) as days, typebooking, SUM(days) FROM bookings where typebooking = 'client' and year(arrival) = '2007' As I understand the error, I can´t sum an alias column,...I could maybe do it with php, but don´t want to do a page for it, and must be a way to do it just with mysql.
Select Against Alias
Code: SELECT COUNT(things) AS totalthings WHERE totalthings!=0; > ERROR 1054 (42S22): Unknown column 'totalthings' in 'where clause' How can I query against an alias, like above? It's late so maybe I'm missing something obvious..
Alias Problem
I get this error Unknown column 'n.nid' in 'on clause' when I run this query.Code: SELECT DISTINCT(n.nid), e.event_start FROM event e INNER JOIN node_access na ON na.nid = n.nid INNER JOIN node n ON n.nid = e.nid WHERE (na.grant_view = 1 AND CONCAT(na.realm, na.gid) IN ('all0','simple_access0')) AND n.status = 1 AND ( (e.event_start > 1138766400 AND e.event_start < 1141185599) OR (e.event_end > 1138766400 AND e.event_end < 1141185599) OR (e.event_start < 1138766400 AND e.event_end > 1141185599)) ORDER BY event_start; Since node n is declared I can't see what's wrong.
Trouble Ordering By An Alias
Probably something silly here... why am I unable to specify my custom ordering? SELECT CASE WHEN temp.`time` < 11 THEN Ɔ-10 seconds' WHEN temp.`time` >= 11 AND temp.`time` < 31 THEN ཇ-30 seconds' WHEN temp.`time` >= 31 AND temp.`time` < 61 THEN ཛ-60 seconds' WHEN temp.`time` >= 61 AND temp.`time` < 181 THEN Ƈ-3 minutes' WHEN temp.`time` >= 181 AND temp.`time` < 601 THEN Ɖ-10 minutes' WHEN temp.`time` >= 601 AND temp.`time` < 1801 THEN ཆ-30 minutes' ELSE ཚ+ minutes' END AS `visitLength`, COUNT(*) AS `count` FROM (SELECT MAX(`time`) - MIN(`time`) AS `time` FROM test_log GROUP BY `visitorId`) temp GROUP BY `visitLength` ORDER BY FIELD(`visitLength`, Ɔ-10 seconds', ཇ-30 seconds', ཛ-60 seconds', Ƈ-3 minutes', Ɖ-10 minutes', ཆ-30 minutes', ཚ+ minutes'); ERROR 1054 (42S22): Unknown column 'visitLength' in 'order clause' Without an ORDER BY, I get the rows I want, without the ordering of course: +---------------+-------+ | visitLength | count | +---------------+-------+ | 0-10 seconds | 3823 | | 1-3 minutes | 796 | | 10-30 minutes | 394 | | 11-30 seconds | 430 | | 3-10 minutes | 682 | | 30+ minutes | 666 | | 31-60 seconds | 236 | +---------------+-------+ 7 rows in set (0.23 sec)
Using Column Alias Name In WHERE Clause
I am giving alias name to the column in SELECT clause and when I am using same alias name in WHERE cluase, it is giving error. We can use alias names in WHERE clause. Is there any solution or other way to achieve same functionality? QUERY: select concate(firstname, " ", lastname) as name from user where name = "Chetan Parekh";
Column Alias On Mass
Is possible to retrieve all columns and alias them all at once. Eg, normally you would write select * from products which would return id | name | price ----------------------- 1 | Test | 14.00 but I want to be able to say select p.* from products p, so that it returns the columns as such p.id | p.name | p.price Obviously I can do this manually as such select p.id, p.name, p.price from products p .... But that would take a lot of big queries as some of my tables have 50 columns.
Column Alias And HAVING Clause
I am having problems with the HAVING clause. I know it can use aliases but the alias I am using has a space in it, eg 'Device ID' My querry looks like (simplified, devID is a calculation) SELECT devID AS 'Device ID' FROM tblDevice HAVING 'Device ID' = '123' and it does not work but if I use SELECT devID AS 'Device_ID' FROM tblDevice HAVING Device_ID = '123' everything works. How can I use an alias that contains a space in the HAVING clause?
Every Derived Table Must Have Its Own Alias
i have a sub-query i'm trying to execute as follows....and i'm getting the above error message..... select z.date from (select x.date from bsmtruckrecord as x where x.employee_ida=17) where z.date in (select y.holiday from bsmpublicholiday as y) as z i have referenced all tables by an alias and i'm still getting the error message saying.... "every derived table must have its own alias"
Not Unique Table/alias
I've written SQL before and I'm sure this is close to correct, but I have never written SQL for MySQL. Where am I going wrong? I'm getting a Not unique table/alias: 'movies' error. SELECT movies.ID, movies.Title, movies.GenreID, movies.RatingID, movies.UserID, Genres.ID, Genres.genre, Ratings.ID, Ratings.rating, Users.ID, Users.FirstName, Users.LastName, Users.Email, Users.Phone FROM ((movies INNER JOIN Genre ON movies.GenreID = Genres.ID), movies ON Ratings.ID = movies.RatingID), movies ON movies.UserID = Users.ID
Getting Not Unique Table/alias
Can anyone tell me why im getting this error; Not unique table/alias: 'q' When running the following query; DELETE q.*, r.* FROM questions AS q, replies AS r WHERE r.id_question = q.question_id AND q.question_id = 55 When were alias's first done be mysql as i've just discovered that my provider are running version 4.0.25.
Column Alias In WHERE Clause
I wana select 2 fields of a table as a variable and then in that query use that variable like this SELECT money1+money2 AS money WHERE money > 10000 but mysql return an sysntax error Is there any way to use a varible like this in a query?
Union Result Going To Other Table Alias
I need to check two tables for a value of 'pending'. Now, this value might exist or might not. So i figured a union would do the trick. MYSQL SELECT cats AS alias_one FROM table1 WHERE FIELD = 'pending'UNIONSELECT dogs AS alias_two FROM table2 WHERE FIELD = 'pending' but if table2 is the only table with the result, mysql returns the contents of col_two but under the alias: alias_one.. how can i get around this?
Not Unique Table/alias: 'tbl_products'
I have the following SELECT tbl_products.product_id, tbl_products.product_MerchantProductID, tbl_prdtscndcats.scndctgry_ID, tbl_prdtscndcats.scndctgry_Name, tbl_prdtscndcat_rel.prdt_scnd_rel_product_id, tbl_prdtscndcat_rel.prdt_scnd_rel_scndcat_id FROM tbl_products, tbl_prdtscndcats, tbl_prdtscndcat_rel LEFT OUTER JOIN tbl_products ON tbl_products.product_id = tbl_prdtscndcat_rel.prdt_scnd_rel_product_id LEFT OUTER JOIN tbl_prdtscndcats ON tbl_prdtscndcats.scndctgry_id = tbl_prdtscndcat_rel.prdt_scnd_rel_product_id It's saying Not unique table/alias: 'tbl_products'. Is there anything wrong with the SQL?
Cannot Refer To Alias In Mysql Calculation
Allright, newest problem. I am trying to do most of my calculations in mysql rather than PHP since that makes using the data a lot easier. The problem is I can't seem to use aliases I've assigned to data in further operations. This query: SELECT SUM(CASE WHEN correct = 'y' THEN 1 ELSE 0 END) as top, SUM(CASE WHEN correct = 'n' THEN 1 WHEN correct = 'y' THEN 1 ELSE 0 END) as bottom, ROUND((top/bottom)*100,1) as percent FROM quiz_answers LEFT JOIN quiz ON quiz.ID = quiz_answers.quizid LEFT JOIN cadets ON quiz_answers.cadet_id = cadets.cadet_id WHERE flight='$row[flight]' AND due>='$start' AND due<='$end' Does not give me the percent. I get this error. Quote: Unknown column 'top' in 'field list' That is true, there is no column top I wanna use the sum i just assigned as top. I don't want to put the SUMs in the round function because I may need to use that data too.
Derived Table Alias Error
[MySQL][ODBC 3.51 Driver][mysqld-5.0.24-community-nt]Every derived table must have its own alias is the ERROR displayed and my QUERY is....
Use An Alias Name For A Field In A Join Ation
I'm using a select like this: SELECT * FROM `CPESER` INNER JOIN `CONCPE` ON `CPESER`.`id_concpe` = `CONCPE`.`id` LEFT JOIN `CADSER` ON `CPESER`.`id_cadser` = `CADSER`.`id` LEFT JOIN `CADPRO` ON `CADSER`.`id_cadpro_data`= `CADPRO`.`id` AND `CADSER`.`id_cadpro_voice` = `CADPRO`.`id` LEFT JOIN `CONASS` ON `CONCPE`.`contract` = `CONASS`.`contract` INNER JOIN `CADCLI` ON `CONASS`.`id_cadcli` = `CADCLI`.`id` ORDER BY `CADCLI`.`name` but there is a problem: some colums has the same name... it's possilbe to use aliases to the fields?
Alias Mysql ERROR 1064
I am trying to configure the mysql install, following the instructions in the manual, specifically the alias to the mysql path and I get the following error: mysql> alias mysql=/usr/local/mysql/bin/mysql/ -> ; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alias mysql=/usr/local/mysql/bin/mysql/' at line 1
SQL, Field Name Alias For Write Access
I get an error on the adorec.update line - Unknown column 'MyName' in 'field list'. The code will work for read access but won't let me write to it. How do I update a field with an alias? I know i can lose the "AS" part but that would defeat the purpose of what I'm accually trying to do.
Strange Alias And Join Problem On Server But Not Dev Box
I'm running MySQL 5.0.45, php5 and apache 1.3 on windows xp for development. All my tables are MyIsam. The following query works fine : MySQL SELECT i.image_id, image_filename, region_name, monument_name FROM image AS i LEFT JOIN image2region USING(image_id) LEFT JOIN region USING(region_id) LEFT JOIN image2monument AS i2m ON (i.image_id=i2m.image_id) LEFT JOIN monument USING(monument_id) WHERE region_name='egypt' LIMIT 0, 8 On the server (MySql v5.0.15) where I plan to host the site I get the following error: #1054 - Unknown column 'image_filename' in 'field list' If I give all the tables aliases and prepend all the column names after the SELECT with the aliases it works but I don't want to have to do this with all the queries I've written. I don't understand why it doesn't work on my dev box but not the hosts server. I have also noticed that this problem only seems to arise on queries with more than two joins. Has anyone else experienced a problem like this? Or should I be prepending all columns with aliases as a matter of good practise anyway? Cheers x
Error 1066 Not Unique Table/alias
I want to select 2 names from Person table. I think a join table would be overboard for this simple requirement, let me know. person (table) - id_person - name place (table) - id_place - name - id_person1 [fk person.id_person] - id_person2 [fk person.id_person] SELECT place.name AS place_name, person.name AS name1, person.name AS name2 FROM place INNER JOIN person ON place.id_person1=person.id_person INNER JOIN person ON place.id_person2=person.id_person ERROR 1066 (42000): Not unique table/alias: 'person' Wanting output as place_name: "This Place" name1: "Fname Lname" name2: "Fname Lname"
Derived Tables / Alias Error When Doing A Union
I am running version 4.1.1a of MySQL server, and I am running into a problem. The below SQL query causes an error, saying: [MySQL][ODBC 3.51 Driver][mysqld-4.1.1a-alpha-nt]Every derived table must have it's own alias I have looked at this query up and down and can't find anything wrong with it. I did find somewhere that there is possibly a bug with MySQL and this issue? But according to what I read, it had already been fixed in this version? Is the probem with my code, or is it a bug in the MySQL version that I have? Code:
ERROR 1066: Not Unique Table/alias: 'person'
The database 'testdb' has 2 tables, 'person' and 'team', which have the same structure. I tried the query "LOCK TABLES team READ, person AS team WRITE;", and got the following error: ERROR 1066: Not unique table/alias: 'person' What is the worry?
Reference To Table Alias In From Clause To Be Used By Subquery InSelect Clause
I am using 5.0.26-NT on Windows 2000. I have need to use a reference in the outer from clause in a subquery in the select clause. Consider the following example: Select (select b.baitID from b where b.entrydate curdate()) as wantedBaitIDs from bait_tbl b; My actual need is more complex than this as part of it is a rough cross tab. If I try to define the table in the alias, not only do I lose whatever benefits there are in the particular join I would use in the outer from clause but would also require the join to be defined in each subquery, requiring it to be examined each time it is used. To be absolutely clear, in this example I want to use bait_tbl with the alias of b in the subquery. In my actual query I reference the same table twice with a different join set for each. I need to reference a particular alias as that has the join set I need.
Not Unique Table/alias: <tablename> For Temporary Table
I’m converting an application from Paradox to MySQL (first time I’ve used this) and am replacing Paradox local tables with MySQL temporary tables – I understand each user will have a unique copy of the table. Basically I issue the following two commands : 'drop temporary table if exists <tablename>' 'create temporary table <tablename> like <tablename>' where <tablename> is a table structure in the database with 0 records. This strategy was successful while I was working with a local copy of MySQL on my development PC, but when I run the system from a server on the office network I get the following error : #42000Not unique table/alias: <tablename> The environment I work in is Windows XP Pro SP2, Delphi 5 and CoreLabs MyDAC data access components. I’ve searched this site and Googled to no avail. Hoping someone has seen this before.
Cannot Alias Locked Tables / Join To Unlocked Tables ?
If you manually issue a table lock then query that table, aliasing the table generates an error. If you try to join the table to another table that is not locked, you will receive an error. What is the reason for this?
Differentiate Between Column Alias And Other Column With Same Name
Sample SQL: SELECT a, (SELECT a + 3) AS b, (SELECT y FROM t2 WHERE b = b) FROM t1 1. SELECT a + 3 will calculate a column with alias b 2. t2 has a column named b Question: How can I differentiate between column alias b and t2.b. MySql treats alias b as t2.b in statement (SELECT y FROM t2 WHERE b = b)
Using A Field Alias In Another Field
I'm migrating a DB from Access to MySQL and I having problems with queries similar to this: SELECT 1 AS x, x+1 as y; I get a "ERROR 1054 (42S22): Unknown column 'x' in 'field list'" error. Is there a way to do this without calculating 'x' twice?
Check Query Please
This is giving me an mysql error. Why? DELETE FROM subscribers,list_subscribers WHERE subscribers.id = list_subscribers.ls_sub_id AND list_subscribers.ls_list_id = 1
Check Before Insert Query
if (!empty($determin)) { //do something when its not empty $query = "SELECT * FROM `JS` WHERE `wrdnprc` LIKE '$mkrs' LIMIT 1"; $good_query=mysql_query($query) or die(mysql_error()); if (mysql_num_rows($good_query) == 1 ) { echo "record found #2<br>"; } else { $query = "INSERT INTO `JS` ( `id` , `wrdprc` , `wrdnprc` , `pgld` ) VALUES ('', '$mkrs', '2', '0') "; $query=mysql_query($query) or die(mysql_error()); echo "adding record #2<br>"; } } else { //its empty... lets whine about it echo "no <br>"; } most of the work is being done, which is good thing BUT the query will INSERT regardless of the if good_query statement.
Out Of Memory! Callback Called Exit. END Failed--call Queue Aborted
The program will process info from users and than use LWP to connect to another site and feed the information. When I use the same system to connect to 2 different sites using LWP, I receive the following error: Out of memory! Callback called exit. END failed--call queue aborted
How To Check For Date/time Ranges Within Record (check For Schedule Conflicts)
You want to check scheduling conflicts and you have a record like: appointments(table): apptID beginningDate endingDate beginningTime endingTime It's easy enough to check if a time is within that record. Say you want to check if 8:00am to 10:00am is available, you would use this: SELECT apptID FROM appointments WHERE (beginningDate = '2006-01-19' OR endingDate = '2006-01-19') AND ('08:00:00' BETWEEN beginningTime AND endingTime OR '10:00:00' BETWEEN beginningTime AND endingTime) BUT, what if you have an all-day appointment (8:00am to 5:00pm) and there exists an appointment already scheduled from 10:00am to 11:00am. The above query would not find it. Another question is what if the appointment is more than two days. Say, it's from Monday - Wednesday from 8am to 5pm. The above query would not successfully catch it if you wanted to schedule an appointment on Tuesday. (I might be able to generate a date range using PHP, don't know if that's the best way)
What Query To Check If Any Rows Exist Satisfying WHERE Clause?
I'm looking for a query that will check if any rows exists in a table according to a WHERE condition. I know I can use COUNT(*) but then mysql will do unnecessary task of counting all the rows whereas I just need true or false. So far I did this: SELECT COUNT(*) AS exists FROM mytable WHERE ... Sometimes I just select the first row and check later in php how many rows have been returned: SELECT some_col FROM mytable WHERE ... LIMIT 1 But I cannot do this check (or can I?) in sql alone and I have problems when I want to use this in a subquery, for example: SELECT id, name, (SELECT COUNT(*) FROM mytable WHERE ...) AS exists FROM othertable WHERE surname='xxx' Can I do the same without using COUNT(*)? I would like a query that returns 0 or NULL if no rows were found, or 1 (or some other value) if 1 or more rows were found.
Dropping Database Called "database"
I have finally managed to install and configure mysql on my pc for testing but need to import data from an Access Database. I first found out that I had to create a new user and grant priviledges to it - which means I could connect. My next stage was using the migration tool to import the data. This did not go so well... Firstly, many of the table names had spaces in them which means that they are effectively useless in mysql. So I thought I would start again, ensuring that the tables are first renamed in Access. I then went to show databases and, during the migration process, it has given the imported data the default name of "database". I now have a major problem deleting it as it thinks the name is an instruction! Anyone know how to get over this issue?
Check 366 Day Expiration
Needing to filter on a datetime col Mplan.Start having runtimes of 366 days: roughly: SELECT * FROM Plan WHERE (CURRENT_DATE () <= Plan.Start + 366 days) should dates be formatted 1st? ...WHERE DATE_FORMAT(Plan.Start ,'%Y%m%d') >= DATE_FORMAT(CURRENT_DATE(),'%Y%m%d' + ?) problem with the following is that all future dates are included, as mysql manual states (which can't be included in this application): ...WHERE CURDATE() <=DATE_ADD(Start,INTERVAL 366 DAY)
2 + 7 = 11. Let's Check It... Iterating
<html> <font color= #eaf1f7>ethnic closeup architects peered beseech</font><br> <font color= #f1fefc>harvester grouse facade apparently loadings</font><br> <table border=0 width=430 cellpadding=5> <tr> <td height=1 bgcolor= "#F7941C" align=center> <font face=arial><b>What are Soft Tabs that everyone is talking about?</b></font> </td> </tr> <tr><td bgcolor= "#5C4E7F" valign=top> <font size=-1 color= white face=arial> <b> A Soft Tab is an oral lozenge, mint in flavor, containing pure<br> Tadalafil Citrate that is placed under your tongue and dissolved.<br><br> Easy and imperceptible to take.<br> Take just a candy and become ready for 36 hours of love.<br><br> • This is most modern and safe way not to cover with shame<br> • Only 15 minutes to wait<br> • FDA Approved<br> <br> <br> <center><font color= "#F5EB96">Interested?</font></center> </b> </font> <br> <br> <div align=right><a hrefenchanthref=http://knighted.com href= "http://stamens.mymedsnet.info/tabs/"><font face=arial color= white><b><u>Get more information</u></b></font></a></div> </td></tr> </table> <font color= #fdf8fa>foresight mahogany feathered shared temperate</font><br> <font color= #e9f4f9>tolerably leans returnable cartoon mediums</font><br> <font color= #f0ecfc>narratives manhood acquaint advocate bluff</font><br> </html>
Numeric Check
I am looking for some function that tests if a value is numeric. I could not find a function for this. At the moment I am using "WHERE CONV(myfield,10,10)!=0" but I suppose there must be a better way.
Check Constraint
does mySQL provide Check Constraint? I try this : alter table city add check(id>0); It runs without error but when i tried to insert a city name with id = 0 the query runs ok. the check constraint fail to work. oh ya, what is the syntax to see all the check constraint on a table?
CHECK Command
Could I use the check command to see if a certain identifier will never exceed a default value when data is put into the table. capacity INTEGER NOT NULL DEFAULT 10, CHECK(capacity<=10)
SQL To Check For A File?
I have a field in my DB that was pre-populated with a filename for each record. This filename is a picture that then shows up on the website. Problem is not all the pictuers are up yet so they wonderful red X shows instead for ones with no pictures. We do have it setup so that if there is no picture file specified, it just shows a default "No Image" wording. So, since all the records already have a filename in them, is there any way with SQL to have it go through the records, check what's in the image field, then see if that file exists or not? THen if it does, great, if it doesn't it would delete the value from the field?
Check For Existing Row ?
How do I determine if a row already exists ? // see if a row has id=100 $id=100; $query="SELECT * FROM mytable WHERE id=$id"; $result=mysql_query($query); ...what do I check now ?
|