【发布时间】:2018-11-01 12:27:44
【问题描述】:
假设我们有下表:
|--------|-------------|------------|------------|------------|------------|
| tbl_id | tbl_item_id | tbl_data_a | tbl_data_b | tbl_data_c | tbl_data_d |
|--------|-------------|------------|------------|------------|------------|
| 1 | 1 | a1 | b1 | c1 | d1 |
| 2 | 1 | a2 | b2 | c2 | d2 |
| 3 | 1 | a3 | b3 | c3 | d3 |
| 4 | 2 | a1 | b1 | c1 | d1 |
| 5 | 2 | a2 | b2 | c2 | d2 |
| 6 | 3 | a1 | b1 | c1 | d1 |
| 7 | 4 | a1 | b1 | c1 | d1 |
| 8 | 4 | a2 | b2 | c22 | d2 |
|--------|-------------|------------|------------|------------|------------|
我们如何获得 tbl_item_id,它包含所有提供的行的所有正确列数据?
例如,我们在 php 中有以下数据数组:
$arData = [
[a1, b1, c1, d1],
[a2, b2, c2, d2]
];
对于这些数据,我们为每个 tbl_item_id 提供以下数据:
- 有效:它具有每个给定行的所有正确数据组合(还有更多,但我们不介意)。
- 有效:它具有每个给定行的所有正确数据组合。
- 无效:它只有一个给定的组合。
- 无效:它具有所需的行数,但由于列 tbl_data_c,第二个数据组合错误。
所以结果必须包含 ids 1 和 2。
谢谢你们。
【问题讨论】:
-
结果不应该是
tbl_item_id = 2吗?tbl_item_id = 1是断点 1 和 2 ,因为您有一行tbl_id = 3不满足任何给定的组合
标签: mysql sql multiple-columns