Exporting phpmyadmin query as csv - problems (not a duplicate) - csv

Before anyone says this is a duplicate, I havent found this case anywhere.
I make my query (a joined query with 4 tables) and then hit EXPORT, but it exports just the table and not the query with the combined info and not just the fields I asked for but ALL the fields of the first table in the query. So basically, the query is ignored at the export stage.
I have loooked into "INTO OUTFILE" however, I do not have the right access to access the file after it is created.
I wonder if "INTO OUTFILE" can save files elsewhere? (remotely, I mean)
I wonder if the amount of results (6200( is straining the server?
My code :
SELECT pname, concat(afname, ' ', alname) as artistname, pubname, pwide, phigh, concat(pubcode,'-',psku) as fullsku, catname, concat('/prints/', pubcode,'-',psku, '.jpg') as imagesource, ptext FROM (prints LEFT JOIN publishers ON (publishers.pubid=prints.ppub) LEFT JOIN artists ON (artistid=partist)) LEFT JOIN cats ON (pcat = catid) WHERE psku <> '' AND phigh > 0 ORDER BY pubname,ltrim(alname),ltrim(afname) LIMIT 6200

I have the same problem, when hitting the "export" button at the bottom of my query results, phpmyadmin exports one of the tables, not the query results. I can't figure why. My workaround is to create a new table, adding
CREATE TABLE xxxx AS
before my select query, and then export this new table.

Since I haven't heard anything, I will post my very lame workaround but at least I got what I wanted.
I did a copy/paste into BBEdit and then tidied up the data with a series of find/replaces.
Not ideal and not the quickest solution, but it worked where nothing else would.

Related

Inserting DATA in MS Access

I've this code:
SELECT VISA41717.Fraud_Post_Date, VISA41717.Merchant_Name_Raw, VISA41717.Merchant_City, VISA41717.Merchant_Country, VISA41717.Merchant_Category_Code, VISA41717.ARN, VISA41717.POS_Entry_Mode, VISA41717.Fraud_Type, VISA41717.Local_Amt, VISA41717.Fraud_Amt, VISA41717.Purch_Date, VISA41717.Currency_Code, VISA41717.Cashback_Indicator, VISA41717.Card_Account_Num
FROM VISA41717 LEFT JOIN MASTERCARD_VISA ON VISA41717.ARN=MASTERCARD_VISA.MICROFILM_NUMBER
WHERE VISA41717.ARN IS NULL OR MASTERCARD_VISA.MICROFILM_NUMBER IS NULL
ORDER BY VISA41717.ARN;
this is really works, But I need to match the first 6 digit of VISA41717.Card_Account_Num from BIN.INT to get the other data from BIN table and combined it all in one table only.
it should be this way:
Can you help me with this.
thanks!
What do you mean by 'all in one table'? Just build a query that joins tables.
Try:
SELECT ... FROM VISA41717 RIGHT JOIN BIN ON Left(VISA41717.Card_Account_Num, 6) = Bin.Int ...
Won't be able to build this join in Design View, use SQL View. Or build a query object that creates a field by extraction of the 6 characters and then build another query that includes that query and MASTERCARD_VISA and BIN tables.

ms access group by gives strange characters [duplicate]

I copied and pasted a new version of the data into my MS Access table and now I'm getting weird characters in my queries. Essentially if I say:
SELECT a, b from table1
everything is fine. If I instead do
SELECT a, b from table1 group by a, b
I get really weird characters as a result. At first I got upside down L's, but now I'm getting Chinese characters. It's weird because other queries in my database use the table and get the desired output. It seems like it's only when I do a group by that I have the problems. Any suggestions? I was ready to roll it out, but now I'm getting these errors!
This is a bug typically met if grouping on a memo field.
There may be several workarounds depending on your needs:
Select
a, Left(b, 255) As b
From
table1
Group By
a, Left(b, 255)
Select
a, Mid(b, 1) As b
From
table1
Group By
a, Mid(b, 1)
Select
a, First(b) As firstb
From
table1
Group By
a
Select
a, DLookUp("b","table1","Id = " & [table1]![Id] & "") AS b
From
table1
Group By
a, DLookUp("b","table1","Id = " & [table1]![Id] & "")
I have just had the same issue in various reports. The problem is indeed the Memo Field.
The solution that worked for me was more straight forward... I had to remove the "Group by" for the Memo field and the problem disapeared.
I realize this might not be an option in every situation, but if it is, this is the easiest solution as it requires no rewrite of the SQL or even any other change in the DB.
I found this solution here: Allen Brown - Grouping by Memo field yields garbage
Here is yet another option, which I just tried successfully. I was updating a query that someone else had created, and the author had included every field in the Group By clause, to return distinct records. I removed the entire Group By clause and inserted DISTINCT right after SELECT. No more Chinese. This may not be possible in some situations, but in this case it was a simple fix.
Also, I would not have thought of this if not for the insights offered above. Thanks everyone!
After five months of no problems, I had this issue today on a group query which included a "Count" field, so the "DISTINCT" technique wouldn't work. What I did was wrap my LongText field around the offending field. In this table, all of the fields are ShortText except for "Description". So the field groups by CSTR([Description]) - and now it works fine! By the way - this came shortly after a MS Office 365 update!

phpmyadmin SQL query multiple tables

I have two tables.
(1) compressors
(2) crankcase_heaters
I'm trying to create a SQL query to do:
Select the compressor.VOLTAGE and compressor.WATT of each compressor.PART_NUMBER
Find the crankcase_heater.PARTNO that has the same voltage and watts.
Add that value into a new field on the compressor table called "CRANKHTR"
Essentially this query will reproduce my compressors table but will have another 'column' called "CRANKHTR".
I'm completely lost on where to even start with this. I tried using the phpmyadmin SQL Query builder but i have no idea where to begin.
Without seeing the exact data structure, it sounds like you need a simple INNER JOIN:
SELECT
`cp`.`VOLTAGE`,
`cp`.`WATT`,
`ch`.`PARTNO` as CRANKHTR
FROM
`compressor` cp
INNER JOIN `crankcase_heaters` ch ON ch.VOLTAGE = cp.VOLTAGE AND ch.WATT = cp.WATT

MultipleObjectsReturned error in django admin - but there is no duplication in database

I'm having a problem in the Django admin. I'm using version 1.5.5
I have a Booth model which has a foreign key to my AreaLayout model, which then goes back through another few models with foreign and many2many keys. My model code can be seen on pastebin. The initial indication of the problem in admin is that AreaLayouts are being duplicated in the select dropdown in Booth admin. The MultipleObjectsReturned error (traceback) is being raised when I then try to save a new booth. I was able to trace this back to the SQL query that django is creating to grab the AreaLayout list:
SELECT `venue_arealayout`.`id`, `venue_arealayout`.`name`, `venue_arealayout`.`description`, `venue_arealayout`.`area_id`, `venue_arealayout`.`additional_notes`
FROM `venue_arealayout`
INNER JOIN `venue_area` ON (`venue_arealayout`.`area_id` = `venue_area`.`id`)
INNER JOIN `venue_venue` ON (`venue_area`.`venue_id` = `venue_venue`.`id`)
INNER JOIN `venue_venue_venue_type` ON (`venue_venue`.`id` = `venue_venue_venue_type`.`venue_id`)
INNER JOIN `venue_venuetype` ON (`venue_venue_venue_type`.`venuetype_id` = `venue_venuetype`.`id`)
WHERE (`venue_arealayout`.`id` = 66 )
This query produces a duplicate in MySQL when I run it there. Removing the final 2 JOINs results in a single result being returned (which is the desired result), whereas removing only the last join still results in duplication.
I tried running that query with SELECT * in place of selecting specific fields and the two results in that case are almost equal. The difference is that the venue in question has multiple venuetypes and I'm getting a result for each of those. Is there any way I can tell django not to include those joins for these queries, or is there a way I can get distinct results as far as AreaLayouts go?
I think you're being caught by the bug reported in ticket 11707. One of the comments mentions that it can cause a MultipleObjectsReturned exception.
All I can suggest is that you stop using limit_choices_to. Your models are fairly complex, so I can't immediately see which one is causing the problem.

MySQL WHERE clause not working after CSV import

I have a problem with a MySQL WHERE clause. I think I know what the problem is, just not how to fix it.
I have a database with student timetable information and I'm matching this against a table with student information. The student information has been imported into the database from a CSV (utf-8) file, the other information was just inserted into the database with "normal" INSERT queries.
The WHERE clause is simple and looks like this:
WHERE gpu_timetable.cls_name =
(SELECT cls_name FROM gpu_students WHERE std_number = 123441 LIMIT 1)
Its matching the cls_name (class name) from the timetable against the class name from the students table. Like I said the data is from different sources but looks to be the same. For example when I remove the SELECT query and use this string ('LV6A') the code works.
The collation on both of the fields is *utf8_general_ci*, I also tried TRIM() but no success, the same for replacing the operator = with LIKE.
Did I do something wrong when importing the student information or is there another function similar to TRIM() that can fix this weird problem?
Your simplified query must be:
SELECT * FROM gpu_timetable INNER JOIN gpu_students ON gpu_timetable.cls_name = gpu_students.cls_name WHERE gpu_students.std_number = 123441
Your should always have tablename.fieldname while using JOIN queries.