Это проблема, которая у меня есть в настоящее время.
У меня есть 7 таблиц данных о поездках. В настоящее время я выбираю случайным образом Card_ID из третьей таблицы, затем просматриваю все 7 таблиц с этим Card_ID и выбираю все записи, сделанные этим конкретным Card_ID.
Проблема в том, что генерируется много наборов результатов, и это создает проблемы, поскольку мне придется вручную экспортировать их один за другим. Можно ли как-то «автоматизировать» этот процесс, объединив около 2000 циклов записей WHILE в один набор результатов?
Заранее спасибо.
BEGIN
DECLARE counter INT;
DECLARE random INT;
DECLARE cardid VARCHAR(20);
SET counter = 1;
WHILE counter < 801 DO
SET random = FLOOR(1 + (RAND() * 5451696));
SET cardid = (SELECT CARD_ID FROM trips13042011 WHERE TripID = random);
SELECT * FROM trips11042011 WHERE CARD_ID=cardid
UNION ALL
SELECT * FROM trips12042011 WHERE CARD_ID=cardid
UNION ALL
SELECT * FROM trips13042011 WHERE CARD_ID=cardid
UNION ALL
SELECT * FROM trips14042011 WHERE CARD_ID=cardid
UNION ALL
SELECT * FROM trips15042011 WHERE CARD_ID=cardid
UNION ALL
SELECT * FROM trips16042011 WHERE CARD_ID=cardid
UNION ALL
SELECT * FROM trips17042011 WHERE CARD_ID=cardid
ORDER BY Ride_Start_Date, Ride_Start_Time ASC;
SET counter = counter + 1;
end WHILE;
END