Note that there are some explanatory texts on larger screens.

plurals
  1. POfetch multiple mysql table like pivot table with key and values
    primarykey
    data
    text
    <p>I have 3 table for my ads portal, I would 3 table join a single query. </p> <p>Please look this schema <a href="http://sqlfiddle.com/#!2/8b74b/3" rel="nofollow">http://sqlfiddle.com/#!2/8b74b/3</a></p> <pre><code>CREATE TABLE `ads` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `ads_title` CHAR(80) NULL DEFAULT NULL, PRIMARY KEY (`id`) ); CREATE TABLE `ads_keys` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `key` CHAR(25) NULL DEFAULT NULL , `inlist` INT(1) UNSIGNED ZEROFILL NULL DEFAULT NULL , PRIMARY KEY (`id`) ); CREATE TABLE `ads_values` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `ads_id` INT(3) NULL DEFAULT NULL, `key_id` INT(10) NULL DEFAULT NULL, `value` INT(10) NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE INDEX `ads_id` (`ads_id`, `key_id`) ); INSERT INTO `ads` VALUES (1, 'AAA'); INSERT INTO `ads` VALUES (2, 'BBB'); INSERT INTO `ads` VALUES (3, 'CCC'); INSERT INTO `ads` VALUES (4, 'DDD'); INSERT INTO `ads` VALUES (5, 'EEE'); INSERT INTO `ads` VALUES (6, 'FFF'); INSERT INTO `ads_keys` VALUES (1, 'KM', 1); INSERT INTO `ads_keys` VALUES (2, 'OIL', 0); INSERT INTO `ads_keys` VALUES (3, 'YEAR', 1); INSERT INTO `ads_keys` VALUES (4, 'COLOR', 0); INSERT INTO `ads_keys` VALUES (5, 'SPEED', 0); INSERT INTO `ads_values` VALUES (1, 1, 1, 89000); INSERT INTO `ads_values` VALUES (2, 1, 2, 200); INSERT INTO `ads_values` VALUES (3, 1, 3, 2010); INSERT INTO `ads_values` VALUES (4, 1, 4, 1); INSERT INTO `ads_values` VALUES (5, 1, 5, 180); INSERT INTO `ads_values` VALUES (6, 2, 1, 13000); INSERT INTO `ads_values` VALUES (7, 2, 2, 150); INSERT INTO `ads_values` VALUES (8, 2, 3, 2008); INSERT INTO `ads_values` VALUES (9, 2, 4, 1); INSERT INTO `ads_values` VALUES (10, 2, 5, 160); INSERT INTO `ads_values` VALUES (11, 3, 1, 79800); INSERT INTO `ads_values` VALUES (12, 3, 2, 172); INSERT INTO `ads_values` VALUES (13, 3, 3, 2008); INSERT INTO `ads_values` VALUES (14, 3, 4, 2); INSERT INTO `ads_values` VALUES (15, 3, 5, 178); INSERT INTO `ads_values` VALUES (16, 4, 1, 56781); INSERT INTO `ads_values` VALUES (17, 4, 2, 127); INSERT INTO `ads_values` VALUES (18, 4, 3, 2009); INSERT INTO `ads_values` VALUES (19, 4, 4, 3); INSERT INTO `ads_values` VALUES (20, 4, 5, 156); INSERT INTO `ads_values` VALUES (21, 5, 1, 10200); INSERT INTO `ads_values` VALUES (22, 5, 2, 205); INSERT INTO `ads_values` VALUES (23, 5, 3, 2000); INSERT INTO `ads_values` VALUES (24, 5, 4, 3); INSERT INTO `ads_values` VALUES (25, 5, 5, 160); INSERT INTO `ads_values` VALUES (26, 6, 1, 45877); INSERT INTO `ads_values` VALUES (27, 6, 2, 150); INSERT INTO `ads_values` VALUES (28, 6, 3, 2009); INSERT INTO `ads_values` VALUES (29, 6, 4, 1); INSERT INTO `ads_values` VALUES (30, 6, 5, 168); </code></pre> <p>I want to below query result</p> <pre><code>ads_id - ads_title - INLIST KEYS /*if into ads_keys table field's value 1 then this rows to columns*/ </code></pre> <p>For example;</p> <pre><code>+----+-----------+-----------+------------+ | id | ads_title | KM | YEAR | -&gt; If inlist=1 to columns to title +----+-----------+-----------+------------+ (looks KM and YEAR inlist=1) | 1 | AAA | val | val | | 2 | BBB | val | val | | 3 | CCC | val | val | | 4 | DDD | val | val | | 5 | EEE | val | val | | 6 | FFF | val | val | +----+-----------+-----------+------------+ </code></pre> <p>How I put this row to columns? And How I filtered this query. For example color=1 or speed=160</p> <p><strong>EDIT: rows to columns is works fine. Thanks @bluefeet.</strong> I have new requirements. </p> <p>See <a href="http://sqlfiddle.com/#!2/8b74b/12" rel="nofollow">http://sqlfiddle.com/#!2/8b74b/12</a> . How I filter filter by shown key? </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload