Tracking Forums, Newsgroups, Maling Lists
Home Scripts Tutorials Tracker Forums
 
  HOME    TRACKER    MYSQL




Where Clause Doesnt Work


im creating a website with a mysql database. ive jus got started. im havin a few problems
i have a product table and i execute a simple query but it doesnt seem to give me any results: heres the query:

Select * from product where ProductName = 'Age of Empires III';

the above query doesnt work but this 1 does
Select * from product where ProductName LIKE 'Age%';




View Complete Forum Thread with Replies

See Related Forum Messages: Follow the Links Below to View Complete Thread
Subselect Doesnt Work
i am trying to remove values from a list menu if the join table
doesnt have keys when a key is selected for instance:
locations
locationID

locations_join
locationID shotlistID

SELECT SQL_NO_CACHE l.locationID , l.location FROM locations l LEFT JOIN
locations_join lj ON l.locationID = lj.locationID WHERE l.locationID NOT IN
(select locationID FROM locations_join WHERE shotlistID IN (5069)) ORDER BY
l.location ASC

so when shotlistID is selected all the keys from the locations_join joined
to the shotlistID would be remove from the locations list please help, i'm
trying to do this in one query saving from getting all the keys into an
array then checking if the values arent in the array when generating the
list.

GROUP BY Doesnt Work
i have a table that contains the folowing fields:

some_table:

company_number
something_number
price
date_price_established

for a certain company i need to get all the dates that prices were established. and i dont want any date_price_established to repeat themselfs.

for example, for the following database:

1,1,15.5,1.1.2006
1,1,16,1.1.2006
1,1,17.5,1.1.2006
1,1,16,3.1.2006

the results will be : 1.1.2006, 3.1.2006.

this is what i've tried:

SELECT date_price_established
FROM myDb.some_table
WHERE company_number = 1
GROUP BY date_price_established";

Subselect Doesnt Work
i am trying to remove values from a list menu if the join table d=
oesnt have keys when a key is selected for instance:
locations
locationID

locations_join
locationID shotlistID

SELECT SQL_NO_CACHE l.locationID , l.location FROM locations l LEFT JOIN lo=
cations_join lj ON l.locationID =3D lj.locationID WHERE l.locationID NOT IN=
(select locationID FROM locations_join WHERE shotlistID IN (5069)) ORDER B=
Y l.location ASC

so when shotlistID is selected all the keys from the locations_join joined =
to the shotlistID would be remove from the locations list please help, i'm =
trying to do this in one query saving from getting all the keys into an arr=
ay then checking if the values arent in the array when generating the list.

Domain Name Now Doesnt Work
I have a software script I had installed on my server that works with a mysql database. It was working fine as far as pulling information from the database under my old domain name, however, I changed to a new domain name as primary on my server and now the database does not pull anything into the template.

I know this is probably simple but not sure how to fix this.

Function Doesnt Work
i tried write simple function:

CREATE FUNCTION `getLastNumber`(some_guy INT(50), date DATE) RETURNS float
BEGIN
DECLARE a FLOAT;

SET a = NULL;

SELECT number INTO a FROM numbers p WHERE p.number_owner = some_guy AND p.date_created <= date ORDER BY p.date DESC LIMIT 1;

RETURN a;
END

that would return last inserted number into table for some person. When some_guy has number in table, then is everything ok and it returns last number, but when some_guy does not have row in table it returns: Query OK, -1 rows affected. Pls why? and how to fix it?

Mysqldump Doesnt Work
i try to insert the followind data to mysql database
mysqlimport -u root -p anaktisi2 < phpbb_db_backup.sql

But this doesnt insert anything in the db.

Subselect Doesnt Work
i am trying to remove values from a list menu if the join table d=
oesnt have keys when a key is selected for instance:
locations
locationID

locations_join
locationID shotlistID

SELECT SQL_NO_CACHE l.locationID , l.location FROM locations l LEFT JOIN lo=
cations_join lj ON l.locationID =3D lj.locationID WHERE l.locationID NOT IN=
(select locationID FROM locations_join WHERE shotlistID IN (5069)) ORDER B=
Y l.location ASC

so when shotlistID is selected all the keys from the locations_join joined =
to the shotlistID would be remove from the locations list please help, i'm =
trying to do this in one query saving from getting all the keys into an arr=
ay then checking if the values arent in the array when generating the list.


Why Doesnt Limit Work Fully
Why is it, when you have a query, and you limit something, it doesntlimit the records searched? such as, i have a query that searches for "joe" and puts it in ASC order and limit 5, itll go through all joe's, is limit only good for displaying records, such as only 5 records show, ? if that made any sense :)

Full Text Searsh Doesnt Work
I am trying to do a Full text search, but I have two problems.

1. If I enter a word that is found under multiple entries, I get no return. But it i search a word tha's only under one enetry, then it works.

2. This query works:
PHP

SELECT * FROM `site` WHERE MATCH (site_name,keywords) AGAINST ('mice') AND `approved`=&#391;'

, but when I add WITH QUERY EXPANSION, it doesnt work.

PHP

SELECT * FROM `site` WHERE MATCH (site_name,keywords) AGAINST ('mice' WITH QUERY EXPANSION) AND `approved`=&#391;'

I get this error:


MySQL said:

#1064 - 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 'WITH QUERY EXPANSION ) AND `approved` = &#391;'
LIMIT 0, 30' at

It Doesnt Use My Index!
`player_1` mediumint(7) unsigned NOT NULL default &#390;'
`player_2` mediumint(7) unsigned NOT NULL default &#390;'
reffering to users' id-number in another table.

I have two indexes:

KEY `one` (`player_1`),
KEY `two` (`player_2`)
The cardinality of them is 6000 and 7000. My primary-key has cardinality 150 000.

When i run this query:

EXPLAIN SELECT *
FROM `gamebase`
WHERE player_1 =1
It uses the "one"-key (doh!).

But now, that I run my next query (using OR), it tells me that one and two are possible keys, but it uses neither, but loops through my entire table "Using where".

EXPLAIN SELECT *
FROM `gamebase`
WHERE player_1 =1
OR player_2 =1

WHERE Doesnt Equal
I am trying to select something my DB where a clause does not equal something but for some reason I cant seem to make it work.

Here is what I have tried.

PHP Code:

SELECT * FROM golf_groups WHERE name!="something" 


but this doesnt seem to work. i had done something like this before and thought that I had done it this way, but since this does not work,

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.

Its Returning A Value That Doesnt Exist
Okay here is the deal. I am running a query to find out if there is an ID in my table that has a case number that matches the one being submitted. If there isnt once its should step into an if statement that would submit a number of records. Otherwise it should jump to the else statement.

I the problem comes from: the query keeps returning "Record id#2" but there is no record matching the case number being submited from the form.

if( isset($_POST['Submit'])){ //Begin If statement logic
$resultcheck = mysql_query("SELECT * FROM submissions WHERE wfmcase = " . $_POST['wfmc']) or die(mysql_error()); //Query string to test if wfmcase was already submitted
echo "Sucess, form varibles have been passed.<br />";
echo "Resultcheck query results: $resultcheck <br />";

if ($resultcheck == ""){ //Checks to see if the query was empty.
echo "There are no duplicate case escalations pending. <br />";

I added the echo statement so that i could see how far it was getting through the script. It dies after printing the varible $resultcheck which gives "Record id#2". It never enters the 2nd if statement because for what ever reason the query has the "record #id2" in it... What is causing this? I have verfied that there is no case that matches the one coming from the form and i get the same error.

How Does Sql Work Exactly?
Well what exactly does sql do when you create a table for like a login (user) What does the tables and stuff do. Do they just create like a library to store that users information so they can log back in to site or w/e....

Bug Work
I've got this bug http://bugs.mysql.com/bug.php?id=27861. I know they've made a fix and it's going to come out in the next version but is there any way I can fix this myself?

SET NULL Doesn't Work
I have this table:
MySQL
CREATE TABLE `users` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `login` VARCHAR(20) NOT NULL,
  `password` VARCHAR(20) NOT NULL,
  `name` VARCHAR(30) NOT NULL,
  `email` VARCHAR(30) NOT NULL,
  `icq` INT(9) UNSIGNED DEFAULT NULL,
  `personal_stream_id` INT(11) NOT NULL,
  `TIME` DATETIME NOT NULL,
  `url_name` VARCHAR(30) DEFAULT NULL,
  `avatar` VARCHAR(20) DEFAULT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `id` (`id`),
  UNIQUE KEY `login` (`login`),
  UNIQUE KEY `email` (`email`),
  UNIQUE KEY `icq` (`icq`),
  CONSTRAINT `users_fk` FOREIGN KEY (`id`) REFERENCES `photos` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=INNODB DEFAULT CHARSET=latin1;

The constraint is linking this table:


MySQL
CREATE TABLE `photos` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(20) NOT NULL,
  `user_id` INT(11) DEFAULT NULL,
  `streams_id` INT(11) NOT NULL,
  `description` TEXT,
  `hardware_id` INT(11) DEFAULT NULL,
  `ratings_id` INT(11) DEFAULT NULL,
  `thread_id` INT(11) DEFAULT NULL,
  `url_name` VARCHAR(20) DEFAULT NULL,
  `views` INT(11) DEFAULT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `id` (`id`),
  KEY `ratings_id` (`ratings_id`),
  KEY `user_id` (`user_id`),
  KEY `streams_id` (`streams_id`)
) ENGINE=INNODB DEFAULT CHARSET=latin1;

It works, but as you can see, the constraint ondelete action is set to CASCADE, which is not good - it is bad to delete all photos when the user is deleted, I want the database to set user_id value to NULL using the SET NULL action - PHP frontend should display something like "User deleted" then. But when I try to alter the constraint to SET NULL, EMS SQL Manager I'm using shows a very strange error like "Can't create table '.dfk#sql-8e4_4.frm' (errno: 150)". Similiar error is shown when I try to link unsigned int with not unsigned int.



What Query Would Work For This?
I have two tables: say Yes and No.

Yes(ID, YesEmail, EmailOwner);
No(ID, NoEmail);

Both YesEmail and NoEmail contain email addresses.

What query can retrieve all the email addresses in Yes table that are not listed in No table? Thanks in advance.

Why Does This Work In PhpMyAdmin But Not In PHP?
This is driving me absolutely crazy. I am using the following query which works fine in phpMyAdmin in the SQL section

SELECT date, amount, description FROM invoices WHERE unique_key = 48781048
when I enter it like this in PHP it comes up with the error below

$query = "SELECT date, amount, description FROM invoices WHERE unique_key = 48781048";
$result = mysql_query($query) or die (mysql_error());
Unknown column 'unique_key' in 'where clause'

I've even tried using the PHP code that phpMyAdmin generates and that doesn't even work.

How Does 'query_buffer_size' Work In 3.23.56
I see a variable named 'query_buffer_size' that value is 0 in mysql server 3.23.56. I didn't find relational materials in reference. so I wander if any one could tell me what is this variable for?

Min Max Does Not Work For Me For Timestamp
I have such a table:

id
timestamp
value
person

regardless or entering this
SELECT id, MIN(timestamp),value FROM table GROUP BY person

or this

SELECT id, MAX(timestamp),value FROM table GROUP BY person

The timestamp value may be properly pulled, yet, the value field is always the same. Meaning, not the value associated wuth the MIN or MAX timestamp value is shown, but the very first for that person. How is that possible?

Cannot Get 3 Where Statement To Work
I am having a problem with MySQL 5. I cannot get 3 where statements to work with my database. Any two of the three work fine and return records as they are supposed to but when I add a third clause (all clauses are AND) I get absolutely no records at all and no error message. I don't understand what could be causing this and can use any help offered.

SELECT this, that, otherthing FROM myTable WHERE something = "this" AND somethingelse = "that" AND yetsomethingelse > 0 ORDER BY RAND() LIMIT 3;

LOAD_FILE Doesn't Work
I try to load a file into the SQL DB, using load_file() function. But this doesn't work.

Database definition:
Field      Type       Attributes Null Default
ID         int(8)                No  
server_id  int(4)                Yes  NULL                
date       date                  Yes  NULL                
inventtext longblob   BINARY     Yes  NULL                

SQLcommand:
mysql> insert into inventory values('', '858', '2008-01-16', LOAD_FILE("/import/tv.20080116"));

The file has the following security settings:
-rwxrwxrwx tv.20080116   (116 KB)

When I execute the command I don't get an error, but are filled like this:
  ID  server_id  date       inventtext  
 242  858        2008-01-16 [BLOB - NULL]

Getting PHP &amp; MySQL To Work Together
I am trying to get PHP to write into MySQL database. Right now it does not seem that it is doing such, MySQL doesnt appear when I bring up the PHPInfo() page. I have removed semi-colons before the Mysql.dll extension in php.ini, and I have made sure that PHP is in the windows PATH. What else do I need to do to get this stuff running?

Auto_Increment Doesn't Work Any More!
After upgrading from 5.0.11.beta to 5.0.15 on a Windows 32 system, I can't use the auto_increment feature any more; for example, phpMyAdmin gives the following error message: "#1366 - Incorrect integer value: '' for column 'ID' at row 1". Other php clients also (WordPress, MediaWiki...) don't work.

Now() Date Doesn't Seem To Work!!
I am using Now() to insert the current date into my date field and everytime it inserts the following value .... 0000-00-00

WHERE EXISTS Does Not Work.
SELECT id,name FROM tcesports_groups WHERE EXISTS (SELECT * FROM tcesports_teams WHERE tcesports_teams.gid=tcesports_groups.id);

i get this:

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 'EXISTS (SELECT * FROM tcesports_teams WHERE tcesports_teams.gid

Strucuture of the both tables:
tcesports_teams
-------------------
gid smallint(6)
img varchar(100)
mod mediumint(9)
pos smallint(6)

tcesports_groups
-------------------
id smallint(5)
name varchar(100)

currently the entries for id or gid are just 2digits long (1-99) so im a bit confused what throws this error. im using mysql 4.0 branch

Logging Doesn't Work
I have WinXP, and MySQL 5.0.18 running as a service. I followed the instructions for
setting up general query log file (mysqld --log), and the file was created (Nebo.log),
but it does not display any logs.
This is all I have after executing a few queries:

Nebo.log

mysqld, Version: 5.0.18-log. started with:
Tcp port: 3306 Unix socket: (null)
Time Id Command Argument

Can anyone offer any help?

Date() Just Won't Work
I have this line

while ($qry = mysql_fetch_array($results)) {
// if (strtotime($qry['loginDateTime']) <= (time() + 86400*31)) {
$login .= 'Name: '.$qry["FirstName"].' '.$qry["LastName"].' ('.$qry["JoinDate"]?date("d/m/Y", strtotime($qry["JoinDate"])).') '.$qry["Email"].''.$qry["rep_NBR"].' ('.$qry["State"].')
';
//}
}

And when I run it I receive

[quoteParse error: parse error, unexpected ';' in e:emailMembersPending.php on line 43[/quote]

Mysql 5 Help Doesn't Work
when i type "help show;" in mysql 5, nothing shows up. Why can i not see it.?

Won't Work On Server!
here's the error:

DBD::mysql::st execute failed: Table 'garcia22_ccc.offers' doesn't exist at index.pl line 1257.
DBD::mysql::st fetchrow_array failed: fetch() without execute() at index.pl line 1266.

Join Doesn't Seem Work
I have some issues with a simple query, but I just can't figure out why the query doesn't return expected results.

Here is the situation:

I have a table look like this:

TRANSACTION(UNIQUE_ID(PK), CUSTOMER_ID, EMP_ID, TRANS_TYPE, TRANS_DATE, POSTED_DATE, AMOUNT_CHARGED, AMOUNT_PAID, TRANS_LOC, TRANS_ID_CHARGE, TRANS_ID_PAYMENT)

Some rules for the data in the table:

- The TRANS_TYPE indicates if it is a charge or payment(C charge, P for payment). For a payment, there is a unique TRANS_ID_PAYMENT, and for same transaction, the charge record holds same TRANS ID in the TRANS_ID_CHARGE field.

- The TRANS_LOC is for location where the charge happened. But for a payment record, this field is null. which means, payment records and charge records can't be linked together through location.

- TRANS_DATE is the date the transaction happened. For a payment record, this field is also null.

- A charge record and a payment record for same transaction usually have different POSTED_DATE since they are posted most likely on different days.

- AMOUNT_PAID could be less than AMOUNT_CHARGED for same transaction since customers can have an installment payment plan.

Here is my query:

SELECT DISTINCT
A.CUSTOMER_ID,
A.AMOUNT_PAID
FROM TRANSACTION A
WHERE A.TRANS_TYPE = 'C'
AND A.TRANS_DATE BETWEEN '2007-01-01' AND '2007-09-30
AND A.LOC_ID = 1
UNION ALL
SELECT DISTINCT
A.CUSTOMER_ID,
A.AMOUNT_PAID
FROM TRANSACTION A,
TRANSACTION B
WHERE A.TRANS_TYPE = 'P'
AND B.TRANS_TYPE = 'C'
AND B.TRANS_DATE BETWEEN '2007-01-01' AND '2007-09-30
AND B.LOC_ID = 1
AND A.CUSTMER_ID = B.CUSTOMER_ID
AND A.EMP_ID = B.EMP_ID
AND A.TRANS_ID_PAYMENT = B.TRANS_ID_CHARGE

The purpose of this query is to pair all the charge and payment records for the same transaction that happened between a certain period of time. But the results show that there are some dangling payment records that are not linked to any charge records.

Sql Statement Doesn't Work
When i was using a previous version of mysql (3.something) this sql statement worked fine.

strSQL = "SELECT COUNT(*) as COUNTER FROM prayerrequest where dateexpires <= '" & sDate & "'"

sDate equals todays date.

But after installing the new version (4.1) of mysql this statement no longer works.

I went as far as stepping through all dates and comparing them and it wouldn't work. "1/11/2005" from the database did not equal sDate which was "1/11/2005".. The only way I could get it to work was to use the asp/vb function FormatDateTime on dateexpires and then compare it with sDate.

Does mysql not return a different var type? Is there anyway I can convert dateexpires in the above sql statement so I can compare it with sDate?

Index Doesn't Work With < Or >
I've noticed that MYSQL is not using indexes when the operators "<" or ">" are used in the SELECT query; For example:

SELECT firstname
FROM users
WHERE birthyear < 1969

Now, birthyear is of type "int" and is indexed. However the EXPLAIN statement shows that all rows are examined.

Getting Log File To Work
I am putting
log = "C:Program FilesMySQLMySQL Server 5.0sql.txt"
into my .ini files and mysql wont start.
I cant work out the syntax to tell mysql to ouput all the queries to a log file.

Getting MySQL To Work..
I downloaded version 4.1.7, opened the manual, followed the instructions, and installed it. Then, when I opened up the "MySQL Server Instance Config Wizard", I set it all up. I press the "Configure" button, and it runs up the point where it creates the Service. Then, it gives this message"Could not start the service MySQL. Error: 0".

I've ran a Google search on the error message, but have found nothing.

I'm running Windows XP. If there's any more information you need about my computer setup, go ahead and ask.

Date_add Does Not Work
I'm using mySQL 5.0, with a database of UNIX timestamps. Can someone explain this to me? This query works great:

 SELECT from_unixtime( 1132277574 ) 

But this one breaks:

 SELECT date_add(from_unixtime(  1132277574 ), interval 1 week)

Telling me, oh-so-helpfully, that the error is near "'week)'". (It doesn't work when I use "1 weeks" either.)Does the from_unixtime simply not work with the date_add function, or is there some arcanity to this syntax that I'm missing?

Difference Of Work
My provider has passed on version 4.1.7 and the inquiry of the following kind has ceased to work for me:

SELECT goods.id, goods.name FROM goods LEFT JOIN category ON goods.id = category.goods AND category.razdel=2 WHERE category.goods IS NULL.

Before all worked correctly, on the version 3.x, what could exchange?
Where a problem?

Work In MySql
This query works fine in SQL Server, will it work in MySql?

SELECT a.total, b.browsertotal, b.browser, (b.browsertotal / a.total) * 100 AS browserpercent
FROM
(SELECT Count(id) As total
FROM MyTable) a,
(SELECT count(id) as browsertotal, browser
FROM MyTable
GROUP BY browser) b

I dont have MySQL and I am trying to help someone out.

Mysql_connect Does Not Work
I have searched through the forum and tried the suggestions that have been made for this issue but I am about ready to give up! I have installed Apache 2.0.52, PHP 5.0.3, and MySQL 4.0.23 on Windows XP. I uncommented extension=php_mysql.dll in the php.ini file and copied libmysql.dll into both C:WindowsSystem32 and C:WindowsSystem.
My phpinfo.php test works fine so I know PHP and Apache are working together. I do not see any MySQL references on that entire page. From previous posts I know I should. Needless to say, mysql_connect(...) does not work, it gives an undefined function error. I apologize if this should have been posted in the PHP forum instead. If it is a PHP issue, I will repost this there.

Sentence Doesn't Work
I'm using mysql 4.0.21 and Toad to run this query. The message i'm receiving is that there is a Syntax error, where?

select a.id_opcion, a.nombre, a.campo, a.visible, b.id_usuario,
if(b.ancho is null, 50, b.ancho) as ancho, b.posicion
from det_rmen as a
left join
(select *
from rmen_usu
where id_usuario = 'generico') as b
on (a.id_opcion = b.id_opcion and a.campo = b.campo)
where (b.id_usuario='generico') or (b.id_usuario is NULL)
order by id_opcion, posicion;

Can't Work Out SELECT And CASE
Before I confuse you with my description, here is what I currently do, and it works in a roundabout way. I removed some unrelated stuff....

Insert Does Not Work But Editor Say That Its Ok!
I connect to a remove mysql host via the free SQLYog successfully. Now, I have the following problem. I have one table called "activeEbayListings". I open the query editor and simple type in the following query:
INSERT INTO activeEbayListings (title, subtitle, quantity, current_price,
store_category, item_id) VALUES ('test','test', 1, 1, 2, 'someID');
The editor says to me that the query was successfully and the 1 row was affected (inserted...). It says the following:
(1 row(s) affected)
(0 ms taken)
OK, then I refresh the whole database in SQLYog and view the rows...but I simply cannot find the data that was previously inserted. What is wrong here?




How UNION Is Supposed To Work?
Hello here,
I have a problem with the use of UNION. If I query my database with the following:

Quote:

SELECT column1 FROM mytable WHERE title = "mytitle" UNION SELECT column1 FROM mytable WHERE author = "myauthor"

I get a syntax error! (#1064) Why? I can;t find anything wrong in the query above.


Combining 2 Queries That Work
I want to keep text in the Table of database with the original format of line break and paragraph. I don't like merge text. Now I am using tag for keeping format.

My database specification:
Table Type: MyISAM. Format: dynamic
Collation:latin1_swedish_ci. pls

What Do I Need To Do To Make This Query Work?
I must've been working too long hours this week, as my flow of ideas has come to a complete stop.

Its really quite simple: 2 tables - bookings , invoices

These two counts gives me precisely what I want

PHP

$unpaid_bookings = mysql_result(mysql_query("SELECT COUNT(id) FROM bookings    WHERE invoice_id = 0 AND client_id = $id AND status != &#390;' AND finish <= '$time'"),0);$total_bookings = mysql_result(mysql_query("SELECT COUNT(id) FROM bookings    WHERE client_id = $id AND status != &#390;' AND finish <= '$time'"),0);


so I present this in a ratio, $unpaid_bookings / $total_bookings... awesome

now, when I try and flip the coin and show unpaid invoices over total invoices, it all falls apart once I have more than 1 booking per invoice.

First i'll explain the table structure. Each booking has a column `invoice_id`, which is assigned to the primary `id` of the invoice table. So one invoice might be associated with x bookings.

PHP

$unpaid_invoices = @mysql_result(mysql_query("SELECT COUNT(i.id) FROM invoices i, bookings b     WHERE i.id = b.invoice_id AND b.client_id = $id AND i.is_paid = &#390;'"),0);$total_invoices = @mysql_result(mysql_query("SELECT COUNT(i.id) FROM invoices i, bookings b     WHERE i.id = b.invoice_id AND b.client_id = $id"),0);


Again so it works fine when 1 invoice is associated to 1 booking, but when 1 invoice is associated with say 2 bookings, the invoice count will return two instead of one. The worst part is, I know exactly why (because there are two bookings for the invoice), I just can't get around it!

I've tried all sorts of joins, group by's, and i'm not having any luck. I'm trying not to be weak and add the client_id into the invoice table,

Query Doesn't Work With Mysql4
Can someone tell me what's wrong with the mysql query below? It does work on mysql 5 but gives me an error with mysql 4.

SELECT rev_profile_indiv. *
FROM rev_profile_indiv, rev_profile_kids_indiv
WHERE 1
AND reviewing
IN ( 1, 0 )
AND active
IN ( 1 )
AND contract
IN ( 1 )
AND UNIX_TIMESTAMP( DATE( rev_profile_kids_indiv.birthdate ) ) >= UNIX_TIMESTAMP( &#55614;&#57156;-12-15' )
AND UNIX_TIMESTAMP( DATE( rev_profile_kids_indiv.birthdate ) ) <= UNIX_TIMESTAMP( &#55614;&#57158;-12-15' )
GROUP BY rev_profile_indiv.username
ORDER BY lastname
LIMIT 0 , 30;

Can't Get STRCMP Function To Work
Running MySQL 4.1.18

This statement always generates a syntax error:

SELECT * FROM {table_name} WHERE STRCMP(somefield,'compare string')=0;

{table_name} is the name of the table and it is correct.

somefield is the correct name of a field in the table and the field is type VARCHAR

Generates error:

#1064 - 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 '( somefield , 'compare string' ) = 0 LIMIT 0, 30' at line 1

Adding Third Column Doesn't Work
CREATE TABLE img_cat(
img_id INT NOT NULL,
cat_id INT NOT NULL,
order INT,
PRIMARY KEY(img_id, cat_id)
);

I'm looking to use this table to organise photographs into categories and then add the 'order' column to control the order they appear on the web page. Without the order column it works fine, with it it doesn't seem to work at all.

A Hash At The End Of A Fieldname Does Not Work
My Linux MYSQL 3.23.52 database server is working OK generally.

However, in a database I have a field name that ends with a # (hash UK as
opposed to £ which is a pound UK) i.e. [empnumber#]

If I "select * from emptable" it works fine and the empnumber# field is
listed correctly with all the other fields.

If I "select empnumber# from emptable" I get returned "unknown column
'empnumber' in 'field list'" (#1054) from Access 2000.

If I use Mysql on the server I get similar results.

I cannot change the field names as these are constrained by the fact that
this is not a new design of database.


Copyright © 2005-08 www.BigResource.com, All rights reserved