MySQL - показать все перестановки? - PullRequest
1 голос
/ 13 августа 2010

Table1:

Id   MyFK   f_name   l_name
===========================
1    100    John     Doe
2    100    Little   Timmy

Table2:

Id   MyFK   item     price
===========================
1    100    Car      200
2    100    Bike     100

Как в MySQL создать такую ​​таблицу:

Id   MyFK   f_name   l_name  item  price
========================================
1    100    John     Doe     Car   200
1    100    John     Doe     Bike  100
2    100    Little   Timmy   Car   200
2    100    Little   Timmy   Bike  100

Ответы [ 2 ]

4 голосов
/ 13 августа 2010
CREATE TABLE person
SELECT 1 AS Id, 100 AS MyFK, 'John' AS f_name, 'Doe' AS l_name UNION
SELECT 2, 100, 'Little', 'Timmy';

CREATE TABLE vehicle
SELECT 1 AS Id, 100 AS MyFK, 'Car' AS item, 200 AS price UNION
SELECT 2, 100, 'Bike', 100;

SELECT p.Id, p.MyFK, p.f_name, p.l_name, v.item, v.price
FROM person p
CROSS JOIN vehicle v;
0 голосов
/ 13 августа 2010

Используйте объединение, чтобы объединить таблицы в поле, которое даст результат, который вы после.В этом случае используйте поле MyFK в каждой таблице, поэтому вы должны использовать:

SELECT * FROM Table1 LEFT JOIN Table2 ON Table1.MyFK = Table2.MyFK

Это дает результат, который вы после.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...