次のようなマークアップがあるとします: http://jsfiddle.net/R8eCr/1/
<div class="container">
    <div class="column">
        <div class="cell"></div>
        <div class="cell"></div>
        <div class="cell"></div>
    </div>
    <div class="column">
        <div class="cell"></div>
        <div class="cell"></div>
        <div class="cell"></div>
    </div>
    <div class="column">
        <div class="cell"></div>
        <div class="cell"></div>
        <div class="cell"></div>
    </div>
    ...
</div>
次にCSS
.container {
    display: table;
    border-collapse: collapse;
}
.column {
    float: left;
    overflow: hidden;
    width: 120px;
}
.cell {
    display: table-cell;
    border: 1px solid red;
    width: 120px;
    height: 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
外側の divdisplay: table; border-collapse: collapse;とセルがありますが、display: table-cellなぜそれらがまだ折りたたまれていないのですか? ここで何が欠けていますか?
ちなみに、列にはさまざまな数のセルが存在する可能性があるため、片側だけに境界線を設定することはできません。