Отображение последней записи и объединение нескольких таблиц - PullRequest
0 голосов
/ 18 июня 2020

как мне присоединиться к нескольким таблицам и отобразить каждый проданный пользователем товар, отобразить последнюю запись о том, кто продал нужные мне товары, вывести примерно так

Продавец: "jon" item "# 1" "book" с цена "1000"

пробовали:

SELECT uid , users.name AS uname, transact.transaction_id AS transacted INNER JOIN users on transaction_table.c_id=c_table.c_id


   User table
    --------------------------
    | uid | name |  timezone |
    --------------------------
    |  1  | jon  |  +1 gmt   |
    |  2  | mix  |  +2 gmt   |
    |  3  | vic  |  +1 gmt   |
    --------------------------


    transaction table
    -------------------------------
    | transaction_id | uid | c_id |
    -------------------------------
    | dafsf22sdfssgs | 2   |  1   |
    | 23425asda3afaa | 1   |  1   |
    -------------------------------


    C-table
    ------------------------
    | c_id | c_name | price |
    ------------------------
    |  1   | book   | 1000  |
    |  2   | comic  | 100   |
    |  3   | notes  | 10    |
    -------------------------

1 Ответ

0 голосов
/ 18 июня 2020

Если вы хотите сгруппировать по названию элемента и получить общее количество

select u.name,count(*) as count, c.c_name, c.price*count(*) as totalPrice from user u
inner join transaction t on u.uid=t.uid
inner join ctable c on c.c_id=t.c_id
group by c.c_name

Если вы хотите запросить все транзакции

select u.name, c.c_name, c.price from user u
inner join transaction t on u.uid=t.uid
inner join ctable c on c.c_id=t.c_id

Если вы просто хотите вернуть последнюю транзакцию info

select u.name, c.c_name, c.price from user u
inner join transaction t on u.uid=t.uid
inner join ctable c on c.c_id=t.c_id
order by t.transaction_id desc limit 1

И еще кое-что. Это будет намного лучше, если имена полей будут последовательными.

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