分组数据,但是来自同一来源(MYSQL)
问题描述:
这是我TABEL,与关系相关分组数据,但是来自同一来源(MYSQL)
表:data_kel
+---------+--------------+
| alamat | nomor_kk |
+---------+--------------+
| tes1 | 11 |
+---------+--------------+
| tes2 | 12 |
+---------+--------------+
| tes3 | 12 |
+---------++-------------+
| tes4 | 12 |
+---------+--------------+
| tes5 | 11 |
+---------+--------------+
表:data_mustahik
+---------+---------------+------------+
| nama | nomor_kk | kepala_kel |
+---------+---------------+------------+
| 11 | 11 | 1 |
+---------+--------------+-------------+
| 12 | 12 | 1 |
+---------+--------------+-------------+
| 13 | 12 | 0 |
+---------++---------------+-----------+
| 14 | 12 | 0 |
+---------+--------------+-------------+
| 15 | 11 | 0 |
+---------+--------------+-------------+
表:data_survey
+--------------+---------------+
| id_survey | nomor_kk |
+--------------+---------------+
| 21 | 11 |
+--------------+---------------+
| 22 | 12 |
+--------------+---------------+
| 23 | 12 |
+--------------+---------------+
| 24 | 12 |
+--------------+---------------+
| 25 | 11 |
+--------------+---------------+
表:rekapitulasi_kelayakan
+--------------+---------------+
| id_srv | kelayakan |
+--------------+---------------+
| 21 | layak |
+--------------+---------------+
| 22 | tidak |
+--------------+---------------+
| 23 | - |
+--------------+---------------+
| 24 | - |
+--------------+---------------+
| 25 | - |
+--------------+---------------+
OUTPUT NO W(FALSE)
11 | 11 | Layak
12 | 12 | Tidak
13 | 12 | -
14 | 12 | -
15 | 11 | -
我想输出本(右)
11 | 11 | Layak
12 | 12 | Tidak
13 | 12 | Layak
14 | 12 | Layak
15 | 11 | Tidak
我坚持来查询这个..其实这个查询这么久..它只是简单.. 如果我使用一个组中。全部显示在输出只是一个不..
i want to grouping
nomor_kk 11 with nama 11,15 => layak
nomor_kk 12 with nama 12,13,14 => tidak
我的查询是
SELECT * FROM data_mustahik dk
INNER JOIN data_survey ds
ON dk.nomor_kk=ds.nomor_kk
INNER JOIN rekapitulasi_kelayakan rk
ON ds.id_survey=rkid_srv
查询
CREATE TABLE data_kel
(`alamat` varchar(5), `nomor_kk` int)
;
INSERT INTO data_kel
(`alamat` , `nomor_kk`)
VALUES
('tes1', 11),
('tes2', 12),
('tes3', 12),
('tes4', 12),
('tes5', 11)
;
CREATE TABLE data_survey
(`id_survey` int, `nomor_kk` int)
;
INSERT INTO data_survey
(`id_survey`, `nomor_kk`)
VALUES
(21, 11),
(22, 12),
(23, 12),
(24, 12),
(25, 11)
;
CREATE TABLE rekapitulasi_kelayakan
(`id_srv` int, `kelayakan` varchar(5))
;
INSERT INTO rekapitulasi_kelayakan
(`id_srv`, `kelayakan`)
VALUES
(21, 'layak'),
(22, 'tidak'),
(23, '-'),
(24, '-'),
(25, '-')
;
CREATE TABLE data_mustahik
(`nama` int, `nomor_kk` int, `kepala_kel` int)
;
INSERT INTO data_mustahik
(`nama`, `nomor_kk`, `kepala_kel`)
VALUES
(11, 11, 1),
(12, 12, 1),
(13, 12, 0),
(14, 12, 0),
(15, 11, 0)
;
查询2
SELECT dk.nama,dl.alamat,rk.kelayakan FROM data_mustahik dk
INNER JOIN data_kel dl
ON dk.nomor_kk=dl.nomor_kk
INNER JOIN data_survey ds
ON dk.nomor_kk=ds.nomor_kk
INNER JOIN rekapitulasi_kelayakan rk
ON ds.id_survey=rk.id_srv
WHERE rk.kelayakan != '-'
order by nama
答
您需要在keleyakan
柱-
筛选出的行。
SELECT * FROM data_mustahik dk
INNER JOIN data_survey ds
ON dk.nomor_kk=ds.nomor_kk
INNER JOIN rekapitulasi_kelayakan rk
ON ds.id_survey=rk.id_srv
WHERE rk.kelayakan != '-'
order by nama
不应该在第一行是'A 11 Layak'因为A'''有= id_survey和12''id_srv = 12'具有'kelayakan = Layak'? – Barmar
它看起来像你的第一个查询作品:http://www.sqlfiddle.com/#!9/db88a/2 – Barmar
即时对不起,我只是更新问题..我使用3表 – TARA